从FirebaseStorage获取下载url



是否有一种方法可以获得位于特定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文档中,然后从那里获取?

提前感谢!

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

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

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

最新更新