Android 7.0 之后上传图片发现图片为空的解决方案

时间:2022-08-28 19:06:24

今天遇到一个问题,就是需要向服务端上传图片,结果是从相册选择的图片都能正常上传,但是拍照得到的图片无法上传。

当时我以为是拍照之后得到的图片没有获取成功导致的,但是我断点调试发现拍照后的图片得到了,有路径,并且装换成文件后,文件是存在的,后来上网找了些资料才发现问题的关键点:

类似这样 content://com.jph.takephoto.fileprovider/camera_photos/temp/1474960080319.jpg 一张图片

其中camera_photos就是file_paths.xml中paths的name。

因为上述指定的path为path="",所以content://com.jph.takephoto.fileprovider/camera_photos/

代表的真实路径就是根目录,即:/storage/emulated/0/

content://com.jph.takephoto.fileprovider/camera_photos/temp/1474960080319.jpg

代表的真实路径是:/storage/emulated/0/temp/1474960080319.jpg

这样问题就解决了,把虚拟路径拼成真实路径吧,然后上传,果然好用了。。