我有Firebase图像的下载URL,我想将这些URL转换为对云中图像的引用。有没有一个干净的方法可以做到这一点?

我有Firebase图像的下载URL,我想将这些URL转换为对云中图像的引用。有没有一个干净的方法可以做到这一点?,firebase,kotlin,google-cloud-firestore,google-cloud-storage,firebase-storage,Firebase,Kotlin,Google Cloud Firestore,Google Cloud Storage,Firebase Storage,最终目标是删除这些图像(如果有必要的话),我在Firestore中的images文件夹中有一个StorageReference,位于同一范围内 以下是代码片段: private val images=ArrayList() private val storageRef=Firebase.storage.reference .儿童(“图像”) 趣味删除(位置:Int):布尔值{ val toDelete=images[position].url //然后呢? 返回真值 } MyImage对象仅包

最终目标是删除这些图像(如果有必要的话),我在Firestore中的images文件夹中有一个
StorageReference
,位于同一范围内

以下是代码片段:

private val images=ArrayList()
private val storageRef=Firebase.storage.reference
.儿童(“图像”)
趣味删除(位置:Int):布尔值{
val toDelete=images[position].url
//然后呢?
返回真值
}
MyImage
对象仅包含图像的位图、用户标题和下载url

如何获取该文件的引用并告诉Firestore将其删除?

您可以使用将下载URL转换为引用


在任何情况下,只需将文件的路径与下载URL一起存储在存储器中,就可以更轻松地使用它。

我刚刚尝试过使用它。我最终得到了一个
java.lang.IllegalArgumentException:无法解析存储Uri。
异常。我存储的下载链接是
content://com.android.providers.media.documents/document/image%3A72
重要的链接。这根本不是下载URL。这是一个Android内容URI,它引用了一些本地资源。啊!好吧,这解释了为什么它不起作用。我发现我做错了什么,然后就在别的地方。我正在获取下载链接,但将本地路径存储在模型对象中。谢谢@嘿,道格。我认为它更有可能被使用,因为OP向Kotlin提出了这个问题,而您链接的资源是针对JavaScript的。