我正在构建一个带有按钮的 Android 应用程序,当用户单击它时,他必须从图库或相机中选择一张图像,然后将其发送到我的服务器。 但是当我尝试在模拟器中测试它时,当我提交时遇到了以下错误:
12-30 17:44:14.435: W/System.err(4216): java.io.FileNotFoundException:
/content:/com.android.providers.media.documents/document/image%3A14: open failed: ENOENT
(No such file or directory)
错误在那里:
FileBody cbFile = new FileBody(this.image, "image/*");
this.image
是从图库中挑选的图像。
最佳答案
我在我的一个应用程序中做过类似的事情。试试看它是否有效。
这是打开图库以选择图像的代码...
Intent intent = new Intent();
intent.setType("image/jpg");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(
Intent.createChooser(intent, "Select Picture"),
SELECT_PICTURE);
确保以下方法在您的类中,因为它是在画廊 Activity 完成后调用的...
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
selectedImageUri = data.getData();
try {
Bitmap selectedImage = MediaStore.Images.Media.getBitmap(
this.getContentResolver(), selectedImageUri);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
现在你可以用Bitmap selectedImage做任何你想做的事了
关于java - 从图库中选取图像时出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20848906/