BitmapUtils создает исключение FileNotFoundException для foldername, имеющего место при получении растрового изображения из URI - PullRequest
0 голосов
/ 09 ноября 2018

Получение FileNotFoundException для папок с пробелом на Android 5.1. В противном случае он работает нормально. Я пытался заменить пробел на %20, но я не работал. Также пробовал URLEncoder, но он не работает.

Я получаю путь к изображению, используя contentresolver:

absolutePathOfImage=cursor.getString(column_index_data);

, который (/ storage / emulated / 0 / WhatsApp / Media / WhatsApp Images / IMG-20181025-WA0001.jpg)

Uri:

file:///storage/emulated/0/WhatsApp/Media/WhatsApp%20Images/IMG-20181024-WA0022.jpg

Я хочу получить растровое изображение, но пока получает растровое изображение из Uri , исключение BitmapUtils выдает: (Примечание: даже Glide, Пикассо не удается создать миниатюру изображения)

        BitmapUtils.decodeSampledBitmap(mContext, mUri, mWidth, mHeight);

java.lang.RuntimeException: не удалось загрузить выборочное растровое изображение: file: ///storage/emulated/0/WhatsApp/Media/WhatsApp%20Images/IMG-20181024-WA0022.jpg / storage / emulated / 0 / WhatsApp / Media / WhatsApp Images / IMG-20181024-WA0022.jpg: открыть не удалось: ENOENT (нет такого файла или каталога)

Я получаю исключение на Android 5.1. Тот же код работает на Android 8.0

Застрял с этим 2 дня. Любое решение или решение?

1 Ответ

0 голосов
/ 20 ноября 2018

пробел не должен быть закодирован, как и URL:

file:///storage/emulated/0/WhatsApp/Media/WhatsApp%20Images/IMG-20181024-WA0022.jpg

но его следует экранировать с помощью \, аналогично пути Linux:

file:///storage/emulated/0/WhatsApp/Media/WhatsApp\ Images/IMG-20181024-WA0022.jpg

также убедитесь, что базовый путь file:///storage/emulated/0 правильный.

...