在我的Android应用中,用户必须在手机上选择要在服务器上上传的图片。 我检索路径,但是当我初始化FileInputStream对象时,我遇到了错误。
这是我的代码:
File file = new File(imageURI.getPath());
FileInputStream fileInputStream = new FileInputStream(file);
我有这个错误:
java.io.FileNotFoundException: /external/images/media/30732: open failed: ENOENT (No such file or directory)
但是文件存在是因为用户可以选择它。
在清单中,有WRITE_EXTERNAL_STORAGE权限。所以问题不是来自它。
问题出在哪里?
答案 0 :(得分:2)
您有一个content Uri,请将其记录下来查看。
getPath
返回与文件路径无关的Uri
的路径部分。
尝试使用:
InputStream imageStream = getContext().getContentResolver().openInputStream(imageURI);
答案 1 :(得分:0)
在访问文件之前检查文件是否存在。
if (file.exists()){
}