Matisse: Android 10 选择图片后获取数据obtainPathResult

Created on 20 Nov 2019  ·  13Comments  ·  Source: zhihu/Matisse

Matisse.obtainPathResult(data!!) 拿到的路径存在问题

Most helpful comment

这是Matisse.obtainPathResult(data!!) 拿到的路径 /storage/emulated/0/soul/1573139339639.jpg

这是正确的路径 /data/user/0/包名/files/1573139339639.jpg

请修复

All 13 comments

这是Matisse.obtainPathResult(data!!) 拿到的路径 /storage/emulated/0/soul/1573139339639.jpg

这是正确的路径 /data/user/0/包名/files/1573139339639.jpg

请修复

看了下源代码在PathUtils文件的getDataColumn方法中的final String column = "_data” 其中“_data”相当于MediaStore.MediaColumns.DATA 而在Android 10上这个@deprecated了

如果你是使用Glide加载图片的话,在安卓10上面无法直接加载/storage/emulated/0/soul/1573139339639.jpg这种路径的图片,解决方案是将这个路径的图片写在应用程序下的cache目录下然后再去加载图片 https://joebirch.co/2019/10/09/media-store-access-using-openfile-on-android-10/

除了写一份还有其他办法吗

我还没找到其他更好的方案😂😂😂

好的 谢谢

直接通过uri加载不行吗

直接通过uri加载不行吗

光加载肯定行啊 ,难道开发中选取图片后不上传图片到后台嘛😂

直接通过uri加载不行吗

光加载肯定行啊 ,难道开发中选取图片后不上传图片到后台嘛

嗯,上传的话,就再通过其他方式获取呗

直接通过uri加载不行吗

光加载肯定行啊 ,难道开发中选取图片后不上传图片到后台嘛

嗯,上传的话,就再通过其他方式获取呗

我们讨论的就是我说的要上传的那种情况,使用obtainPathResult获取到的文件路径不对加载不出来且无法上传到服务器,所以目前我能找到的方案就是写进cache里面然后上传,你能找到其他更好的方法,请告诉我一下🤣

直接通过uri加载不行吗

光加载肯定行啊 ,难道开发中选取图片后不上传图片到后台嘛

嗯,上传的话,就再通过其他方式获取呗

我们讨论的就是我说的要上传的那种情况,使用obtainPathResult获取到的文件路径不对加载不出来且无法上传到服务器,所以目前我能找到的方案就是写进cache里面然后上传,你能找到其他更好的方法,请告诉我一下
通过uri

直接通过uri加载不行吗

光加载肯定行啊 ,难道开发中选取图片后不上传图片到后台嘛

嗯,上传的话,就再通过其他方式获取呗

我们讨论的就是我说的要上传的那种情况,使用obtainPathResult获取到的文件路径不对加载不出来且无法上传到服务器,所以目前我能找到的方案就是写进cache里面然后上传,你能找到其他更好的方法,请告诉我一下

利用uri通过FileDescriptor来读取就可以吧

直接通过uri加载不行吗

光加载肯定行啊 ,难道开发中选取图片后不上传图片到后台嘛

嗯,上传的话,就再通过其他方式获取呗

我们讨论的就是我说的要上传的那种情况,使用obtainPathResult获取到的文件路径不对加载不出来且无法上传到服务器,所以目前我能找到的方案就是写进cache里面然后上传,你能找到其他更好的方法,请告诉我一下🤣

ParcelFileDescriptor pfd = context.getContentResolver().openFileDescriptor(file.getFileUri(), "r");
if (pfd != null) {
inputStream = new FileInputStream(pfd.getFileDescriptor());
}
ParcelFileDescriptor读取uri得到输入流

+1,好像android还不是必先的,部分手机有问题。所以,各位讨论的结果是?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

souragar picture souragar  ·  4Comments

HuRuWo picture HuRuWo  ·  4Comments

zzzhoukang picture zzzhoukang  ·  5Comments

Jocerly picture Jocerly  ·  4Comments

xiaotianchang picture xiaotianchang  ·  4Comments