【问题标题】:Firestore/Firebase not able to get images from folderFirestore/Firebase 无法从文件夹中获取图像
【发布时间】: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 你说得对,保持开放更有意义????

标签: android firebase kotlin firebase-storage


【解决方案1】:

您正在调用firestore.getReference("Item"),它会为您提供该文件夹的StorageReference。 Firebase 的 Android、iOS 和 JavaScript SDK 最近添加了一个方法到 list the files in a folderStorageReference

因此,您需要遍历 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) }
  • 它工作正常,谢谢。我已经做好了。这是正确的解决方案。
猜你喜欢
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 2017-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多