我有一个内容URI,形式为“content:// media / external / images / media / 175” . 我试图找到相关图像的绝对路径,以便在请求中发送文件 . 有没有办法实现这个目标?
我试图找到图像的绝对路径
Uri 不是文件 . 您无法将任意 Uri 值转换为可以访问的某些文件系统路径 . 那些 Uri 值可能指向:
Uri
removable storage上的文件
某个其他应用的internal storage上的文件
尚未下载的文件,但将由 ContentProvider 动态下载
ContentProvider
已加密的文件,将由 ContentProvider 动态解密
数据库中的 BLOB
BLOB
将以此网页的方式动态生成的内容
等等
为了在请求中发送文件
Use a ContentResolver and openInputStream()获取 InputStream 以在您的请求中使用 . 如果您使用的任何API不支持 InputStream ,则:
InputStream
Switch to a better API,或
使用 InputStream 在您自己的内部存储上制作本地文件副本,然后使用该文件
1 回答
Uri
不是文件 . 您无法将任意Uri
值转换为可以访问的某些文件系统路径 . 那些Uri
值可能指向:removable storage上的文件
某个其他应用的internal storage上的文件
尚未下载的文件,但将由
ContentProvider
动态下载已加密的文件,将由
ContentProvider
动态解密数据库中的
BLOB
将以此网页的方式动态生成的内容
等等
Use a ContentResolver and openInputStream()获取
InputStream
以在您的请求中使用 . 如果您使用的任何API不支持InputStream
,则:Switch to a better API,或
使用
InputStream
在您自己的内部存储上制作本地文件副本,然后使用该文件