我正在 Delphi 10.3 Rio 中编写一个 Android FMX 应用程序。我在图库中选择了一张照片(通过TJIntent.JavaClass.ACTION_OPEN_DOCUMENT)并以 Jnet_Uri 的形式获取它们的路径。这适用于读取 EXIF(使用 TJExifInterface)。我现在如何将这些照片上传到流 (TStream) 以便进一步使用它们?
当我尝试使用将 Jnet_Uri 转换为路径uri.getPath时,我得到了/document/image:26591. uri.toString产生类似 - 的东西content://com.android.providers.media.documents/document/image%3A26674。TMemoryStream.LoadFromFile无法通过以下方式加载数据:
无法打开文件“/document/image:26724”。没有这样的文件或目录
无法打开文件“/content:/com.android.providers.media.documents/document/image%3A26724”。不是目录
因此问题是——如何知道文件的 Jnet_Uri 将其内容加载到 TStream 中?
原来是通过JInputStream读取数据的: