从 FirebaseStorage 获取下载 URL

Getting download URLs from FirebaseStorage

有没有办法获取位于特定 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 文档中并从那里获取它们?

提前致谢!

为了成功return 下载URL 客户端必须 ping 存储桶。然后 Firebase 必须检查安全规则以确保允许该操作,然后验证该对象是否存在,然后 return 它会下载 URL 给您。很遗憾,目前无法批量执行此过程。

将下载内容存储在 Firestore 文档中很常见URL,这样您就可以避免额外的开销并直接检索下载内容URL。但请记住,下载 URL 是 public 并且不遵守安全规则。因此,请确保您存储它们的文档中有适当的规则。

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