Firestore/Firebase 无法从文件夹中获取图像
Posted
技术标签:
【中文标题】Firestore/Firebase 无法从文件夹中获取图像【英文标题】:Firestore/Firebase not able to get images from folder 【发布时间】:2019-12-16 00:47:49 【问题描述】:我在 firebase 上有一个文件夹。其中名为“项目”。 “项目”包含 100 张图像。我只想获取列表中的所有图像 URL。 我试过谷歌文档。谷歌只显示一张图片。但我只需要完整的图片 URL。
FirebaseStorage firestore = FirebaseStorage.getInstance()
val ref: StorageReference? = firestore.getReference("Item")
I am facing this error =
StorageException has occurred. The object does not exist at the location
【问题讨论】:
@AlexMamo:我重新打开了这个问题。虽然需要获取下载 URL 来实现这个用例,但它还有很多内容,因此它不是完全重复的。 @FrankvanPuffelen 你说得对,保持开放更有意义???? 【参考方案1】:您正在调用firestore.getReference("Item")
,它会为您提供该文件夹的StorageReference
。 Firebase 的 android、ios 和 javascript SDK 最近添加了一个方法到 list the files in a folder 到 StorageReference
。
因此,您需要遍历 ListResult
并调用 getDownloadUrl
以获取每个文件的下载 URL。请记住,getDownloadUrl
是异步的,因此它返回一个任务。获取如下所示的实际下载 URL:How to get the download url from Firebase Storage?
【讨论】:
这也是正确答案。谢谢,弗兰克·范·普菲伦【参考方案2】:正如我在文档中发现的那样,这种方法可以帮助public Task<ListResult> listAll ()
首先,您需要获取所需的文件夹参考,在您的情况下它是 item/
StorageReference mImageStorage = FirebaseStorage.getInstance().getReference().child("items/");
然后在listAll()
的帮助下扩充其中的文件列表
这里是描述 https://firebase.google.com/docs/reference/android/com/google/firebase/storage/StorageReference.html#listAll()
【讨论】:
firestore = FirebaseStorage.getInstance() val ref: StorageReference? = firestore.getReference("Item/") ref?.listAll()?.addOnSuccessListener val item = it.items list.layoutManager = LinearLayoutManager(activity) list.adapter = Adapter(activity, item) 它工作正常,谢谢。我已经做好了。这是正确的解决方案。以上是关于Firestore/Firebase 无法从文件夹中获取图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中从 Cloud FireStore Firebase 访问特定字段
firestore firebase storage 以较低的分辨率检索图像
React Native重复超时将集合写入firestore@firebase/firestore:Firestore(8.4.2):连接WebChannel传输错误