Определите, является ли URI действительным, и сделайте его допустимым в Android для изображений - PullRequest
0 голосов
/ 23 января 2019

В настоящее время я пытаюсь преобразовать все возможные действительные URI в действительный файл, который я затем могу передать в Multipart.File и загрузить на сервер.

У меня есть код, с которым я пишу и работаю, но в некоторых случаях он терпит неудачу. Кроме того, проверьте мою суть здесь: https://gist.github.com/mmdock/ed04315851534029f5bc6ea77d6dc6e4

Ограничения, с которыми я работаю, следующие:

  1. Работает с пре-кит-кит сборками
  2. Он должен обрабатывать реальные файлы (мы загружаем файлы из FB или IG)
  3. Он должен обрабатывать URI документа
  4. Он должен обрабатывать удаленный URI документа (галерея Google решает, автономно ли загружать файлы и держать только большие пальцы)
  5. В конце концов, он должен обеспечить «реальный» путь, то есть путь файл в папке приложений
  6. Он должен поддерживать авторитет первого, второго и третьего Google Фото URI создания галереи и Picasa (устарели в Google, до сих пор используется на некоторых других провайдерах)
  7. Он должен поддерживать контент-провайдеров (https://developer.android.com/guide/topics/providers/content-providers)

Некоторые ссылки, которые я использовал для написания своего кода в его нынешнем виде: https://www.dev2qa.com/how-to-get-real-file-path-from-android-uri/

https://github.com/codepath/android_guides/wiki/Accessing-the-Camera-and-Stored-Media

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

https://github.com/coltoscosmin/FileUtils/blob/master/FileUtils.java

https://github.com/alhazmy13/MediaPicker/blob/master/libary/src/main/java/net/alhazmy13/mediapicker/FileProcessing.java

https://gist.github.com/alexzaitsev/75c9b36dfcffd545c676

https://github.com/kunpark168/EP/blob/c8cd20504a6696fc35f3e64b4bc79bbadbba76b4/eyeprotec/app/src/main/java/com/uas/eyeprotec/utils/DocumentUtil.java

https://gist.github.com/tatocaster/32aad15f6e0c50311626

https://github.com/opendatakit/collect/blob/master/collect_app/src/main/java/org/odk/collect/android/utilities/MediaUtils.java

https://github.com/Khang-NT/Android-Media-Converter/blob/16f347f7b883f854c400ba7e5ce31db4fdac2740/app/src/main/java/com/github/khangnt/mcp/util/UriUtils.java

https://github.com/esafirm/android-image-picker/blob/master/imagepicker/src/main/java/com/esafirm/imagepicker/features/ImageFileLoader.java

https://github.com/jkwiecien/EasyImage/blob/master/library/src/main/java/pl/aprilapps/easyphotopicker/EasyImage.java

Извините за большое количество ссылок. Работал над тем, чтобы исправить это некоторое время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...