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

前言

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

相关系列文章
  • AndroidQ(10)分区存储完美适配
  • AndroidQ(10)分区存储完美适配之图片(文件)上传
  • AndroidQ(10)分区存储完美适配之图片(文件)下载保存本地
  • AndroidQ(10)分区存储完美适配之图片压缩并保存

为什么需要通过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以下也可支持,所以对于文件图片上传来说,可以不需要区分系统版本。

你可能感兴趣的:(AndroidQ(10)分区存储完美适配之图片(文件)上传)