从 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 中的引用。
有没有办法获取位于特定 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 中的引用。