【发布时间】:2018-02-02 18:56:02
【问题描述】:
我正在尝试从有关 BitMapFactory.decodeFile 的文件路径中获取图片以在 Canvas 中绘制位图并得到此异常:
Unable to decode stream: java.io.FileNotFoundException:
/content:/media/external/images/media/40: open failed: ENOENT (No such file
or directory)
02-02 10:03:19.793 3371-3371/com.group.digit.razvoj.appointment
E/AndroidRuntime: FATAL EXCEPTION: main
但是当我使用该文件路径在 Fragment 中设置图像时,它可以正常工作。
这是我的代码:
String urilogo = helper.getUri();
File imgFile = new File(urilogo);
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
Bitmap bitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
在它工作的片段中:
String urilogo = helper.getUri();
if(urilogo!= null || urilogo!= "") {
imageView.setImageURI(Uri.parse(urilogo));
}
【问题讨论】:
-
/content:/media/external/images/media/40显然不是文件 URi。您无法将其作为文件打开。 -
它重新调整文件路径。
-
/content:/media/external/images/media/40不是文件路径 -
比什么?
-
它从该 URI 打开一个流。你也可以这样做。