【问题标题】:Getting download URLs from FirebaseStorage从 FirebaseStorage 获取下载 URL
【发布时间】:2021-11-09 14:21:19
【问题描述】:

有没有办法获取位于特定 Firebase 存储库中的文件的所有 URL? 目前使用以下方法:

List<String> URLs = [];
  final ListResult _files = await _fireStorage.ref('groups/').list();


  for (var element in _files.items) {
    String addable = await element.getDownloadURL();
    URLs.add(addable);
  }

我的问题是我有很多文件位于组文件夹中,这个异步调用需要花费大量时间来获取所有单个元素。是否有任何 API 调用来批量获取链接?还是应该将链接存储在 firebase 文档中并从那里获取它们?

提前致谢!

【问题讨论】:

    标签: flutter dart firebase-storage flutter-web


    【解决方案1】:

    为了成功返回 downloadURL,客户端必须 ping 存储桶。然后 Firebase 必须检查安全规则以确保允许该操作,然后验证对象是否存在,然后将其下载 URL 返回给您。不幸的是,目前无法批量执行此过程。

    将 downloadURL 存储在 Firestore 文档中是很常见的,这样您就可以避免额外的开销并直接检索 downloadURL。但请记住,downloadURL 是公开的,不符合安全规则。因此,请确保您存储它们的文档上放置了适当的规则。

    如果您每次删除文件,请记住执行清理操作并删除 Firestore 中的引用。

    【讨论】:

      猜你喜欢
      • 2021-02-23
      • 1970-01-01
      • 2020-07-27
      • 2018-10-05
      • 1970-01-01
      • 2020-07-14
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多