首页 > 解决方案 > 在 Flutter Firebase 存储中显示我的所有文件夹

问题描述

嘿,我使用 Firebase 存储作为我的应用程序的备份机会,并有一个用户文件夹。在这个文件夹中有很多文件夹,它们的名称是来自用户的 UID。

示例:
users/bahjdbhjabdjabggjd/file.txt
users/bhsabhadadnhbann/file.txt
users/hbashdbadjadjajdgg/file.txt

我需要一个机会列出数组中的所有文件夹名称。

目标:[bahjdbhjabdjabggjd,bhsabhadadnhbann,hbashdbadjadjajdgg]

我没有找到解决问题的方法。

标签: firebaseflutterdartfirebase-storage

解决方案


我建议查看列出文件和文件夹的文档。只需构建对要查询的前缀的引用,然后在其上调用listAll() 即可。例如,从文档中复制:

Future<void> listExample() async {
  firebase_storage.ListResult result =
      await firebase_storage.FirebaseStorage.instance.ref("users").listAll();

  result.items.forEach((firebase_storage.Reference ref) {
    print('Found file: $ref');
  });

  result.prefixes.forEach((firebase_storage.Reference ref) {
    print('Found directory: $ref');
  });
}

它也可能有助于将所有文件记录在数据库中以便于查询,因为列出文件的 API 有一定的限制。


推荐阅读