Convert uri to file android studio

Преобразование файла: Uri в файл в Android

какой самый простой способ конвертировать из file: android.net.Uri до File В Android?

пробовал следующее, Но это не работает:

15 ответов

то, что вы хотите.

Примечание: uri.toString() возвращает строку в формате: «file:///mnt/sdcard/myPicture.jpg» , тогда как uri.getPath() возвращает строку в формате: «/mnt/sdcard/myPicture.jpg» .

после долгого поиска это то, что сработало для меня:

EDIT: Извините, я должен был протестировать лучше раньше. Это должно сработать:

ничего из этого не работает для меня. Я нашел это рабочим решением. но мой случай специфичен для изображений.

непосредственно и скопируйте файл. См. также:

С Котлином еще проще:

Я сделал это следующим образом:

поэтому в основном сначала я пытаюсь использовать файл, т. е. снимок, сделанный камерой и сохраненный на SD-карте. Это не работает для изображения возвращаемых: Intent photoPickerIntent = новое намерение(намерение.ACTION_PICK); В этом случае необходимо преобразовать Uri в реальный путь по

@CommonsWare объяснил все вещи довольно хорошо. И мы действительно должны использовать предложенное им решение.

кстати, только на информацию мы могли положиться, когда quering ContentResolver — Это имя и размер файла, как указано здесь: получение информации о файле / разработчики Android

как вы могли видеть, есть интерфейс OpenableColumns который содержит только два поля: DISPLAY_NAME и SIZE.

в моем случае мне нужно было получить информацию EXIF о JPEG изображение и повернуть его, если это необходимо перед отправкой на сервер. Для этого я скопировал содержимое файла во временный файл с помощью ContentResolver и openInputStream()

Лучшим Решением

создайте один простой класс java FileUtil и используйте для создания, копирования и переименования файла

Я использую uri.toString() и uri.getPath() но не работает для меня. Я наконец нашел решение.

Читайте также:  Автономный режим андроид что это такое

пользовательский класс FileUtil в вашем коде

вы можете получить файл из файла Uri, используя следующий метод. Он DocumentFile для параметра, но вы можете легко изменить его. Самый простой способ проверить этот метод для создания файла uri с помощью DocumentFile.fromFile(Environment.getExternalStorageDirectory()); который имеет Uri file:///storage/emulated/0

вместо создания файлов из Uri используйте DocumentFile.fromTreeUri(Context, Uri) или DocumentFile.fromSingleri(Context, Uri) для создания или удаления файлов и для потоков используйте getContentResolver().openOutputStream(documentFile.getUri()) и getContentResolver().openInputStream(documentFile.getUri()) для записи файлов и чтения файлов.

публичная строка getRealPathFromURI(Uri uri) <

затем, используя для получения файла из URI:

— НАДЕЖДА МОЖЕТ ПОМОЧЬ ВАМ — — — —

Android + Котлин

добавить зависимость для расширений Kotlin Android:

получить файл из uri:

Android + Java

просто переместить наверх 😉

следующим кодом я могу получить общий pdf-файл adobe application в виде потока и сохранить его в путь приложения android

для людей, которые ищут решение для изображений в частности вот это.

Источник

Оцените статью