How to convert URI to real path in marshmallow?

后端 未结 1 1747
一个人的身影
一个人的身影 2021-01-27 11:27

I have an image URI and I want to convert this URI to a real path. I\'ve looked at lot of of answers but none worked for me. I\'m using marshmallow 6.0.1. The image URI is

相关标签:
1条回答
  • 2021-01-27 12:25

    A Uri is not a File. A Uri does not have to represent a file on the filesystem that you can access. The Uri might point to content that is:

    • stored on removable storage, which you cannot access
    • stored on internal storage of another app, which you cannot access
    • stored in an encrypted form, where a ContentProvider needs to decrypt it
    • stored in a BLOB column of a SQLite database, where a ContentProvider needs to load it and serve it
    • stored in "the cloud", where a ContentProvider needs to download it
    • generated on the fly, the way this Web page is
    • and so on

    You can use ContentResolver and openInputStream() to get an InputStream on the content represented by the Uri. You can create a FileOutputStream on some file that you control. And, you can use Java I/O to copy from the InputStream to the OutputStream, making your own copy of the content in a file that you control.

    0 讨论(0)
提交回复
热议问题