Я пытаюсь получить объект FileInputStream
на изображении, которое пользователь выбирает из галереи изображений. Это андроид URI
вернул android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
Содержание: // СМИ / внешние / изображения / СМИ / 3
Когда я пытаюсь создать объект Java URI из этого объекта, я получаю IllegalArgumentException с описанием исключения Ожидаемая схема файла в URI: content: // media / external / images / media / 3 URI андроида показывает схему как содержание
Никогда не нашел решения для оригинального вопроса. Но если вам нужен поток байтов изображения в галерее изображений, этот фрагмент кода сделает это.
Bitmap bitmap = Media.getBitmap(getContentResolver(), imageUri);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
ByteArrayInputStream fileInputStream = new ByteArrayInputStream(bytes.toByteArray());