从Gallery中选择图像时出现FileNotFoundException

时间:2013-12-30 22:52:23

标签: java android image media filenotfoundexception

我正在构建一个带有按钮的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是从图库中挑选的图像。

1 个答案:

答案 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

执行任何操作