繁体   English   中英

Android - 从uri加载照片

[英]Android - load photo from uri

我正在尝试通过 Uri 将图像上传到 imageview,但它不起作用。

java.io.FileNotFoundException: /file:/data/user/0/com.maksu.aquarium/cache/cropped6681458112782885202.jpg (No such file or directory)

我收到上述错误。 当我检查时,我看到图片存在。 我的照片路径

这是我上传照片的方式:

     Uri profileUri = Uri.fromFile(new File("file:///data/user/0/com.maksu.aquarium/cache/cropped6681458112782885202.jpg"));

Glide.with(this).load(profileUri).into(akvaryumDialogResim);

首先,永远不要对路径进行硬编码 出于此答案的目的,我将坚持您的硬编码值,但您确实需要一种更好的方式来处理您的文件。 例如,您的硬编码路径对于很多用户来说都是错误的。

其次, file:///data/user/0/com.maksu.aquarium/cache/cropped6681458112782885202.jpg不是文件系统路径。 这是一个Uri Android 基于 Linux,其文件系统路径以/开头。 file://是一个Uri方案,就像https://是这个网页的 URL 中使用的Uri方案一样。

所以,要么使用:

Uri profileUri = Uri.parse("file:///data/user/0/com.maksu.aquarium/cache/cropped6681458112782885202.jpg");

或使用:

Uri profileUri = Uri.fromFile(new File("/data/user/0/com.maksu.aquarium/cache/cropped6681458112782885202.jpg"));

要访问缓存文件夹中的文件,您可以使用Context.getCacheDir()方法而不是硬编码完整路径。 所以,试试:

Uri profileUri = Uri.fromFile(new File(geCacheDir(), "cropped6681458112782885202.jpg"));

Glide.with(this).load(profileUri).into(akvaryumDialogResim);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM