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 ответ

Я сделал нечто похожее на это в одном из моих приложений. Попробуйте это, чтобы увидеть, если это работает.

Это код, чтобы открыть галерею, чтобы выбрать изображение...

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

Другие вопросы по тегам