确定URI是否有效,并使其在Android for Images上成为有效文件

时间:2019-01-22 21:12:26

标签: java android uri

我目前正在尝试将所有可能的有效URI转换为有效文件,然后将其通过管道传输到Multipart.File并上传到服务器。

我有一些正在编写和使用的代码,但是在某些情况下会失败。另外,请在此处查看我的要旨:https://gist.github.com/mmdock/ed04315851534029f5bc6ea77d6dc6e4

我正在使用的约束如下:

  1. 它必须与KitKat之前的版本一起使用
  2. 它必须处理真实文件(我们从FB或IG下载文件)
  3. 它必须处理文档URI
  4. 它必须处理文档远程URI(Google的画廊决定 是否自动上传文件,只保留拇指)
  5. 它必须最后提供“真实”路径,这意味着 文件放在apps文件夹中
  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

很抱歉,链接数量很多。一直在努力纠正此问题。

0 个答案:

没有答案