我正在构建一个带有按钮的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
是从图库中挑选的图像。
答案 0 :(得分:0)
我在其中一个应用中做了类似的事情。试试看它是否有效。
这是打开图库以选择图片的代码......
Intent intent = new Intent();
intent.setType("image/jpg");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(
Intent.createChooser(intent, "Select Picture"),
SELECT_PICTURE);
确保您的课程中包含以下方法,因为它在图库活动完成后调用...
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
执行任何操作