AndroidQ(10)分区存储完美适配之图片(文件)上传

前言

本篇将从图片(文件)上传服务器的课题着手,讲述AndroidQ中如何通过本地uri路径上传服务器

相关系列文章

为什么需要通过Uri上传文件呢?file路径不可以吗?

  1. AndroidQ版本以上,禁止使用File API本地路径操作文件图片,包括文件上传、下载、图片加载等功能。

  2. file路径和uri区别

    file路径格式:file:///storage/emulated/Pictures/.....

    uri格式:context://media/external/images/media/81302

如何获取

  • 通过ContentResolver.openFileDescriptor接口,选择对应的打开方式。

    例如”r”表示读,”w”表示写,返回ParcelFileDescriptor类型的文件描述符。

InputStream inputStream = null;
ParcelFileDescriptor pfd = context.getContentResolver().openFileDescriptor(fileUri, "r");
if (pfd != null) {
    inputStream = new FileInputStream(pfd.getFileDescriptor());
}

此方法在AndroidQ以下也可支持,所以对于文件图片上传来说,可以不需要区分系统版本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。