如何删除Firebase存储目录中的所有文件

时间:2020-08-16 07:24:44

标签: javascript firebase firebase-storage

我有一个像这样的firebase存储路径。

firebase.storage().ref('temp/test')

“ test”文件夹包含大约25-50个文件。我知道无法删除Firebase中的整个目录,但是有没有办法遍历目录中的所有文件并逐个删除它们?

1 个答案:

答案 0 :(得分:2)

有没有办法遍历目录中的所有文件并 一一删除?

是的,您可以使用listAll()方法,如下所示:

  const storageRef = firebase.storage().ref('temp');
  storageRef.listAll().then((listResults) => {
    const promises = listResults.items.map((item) => {
      return item.delete();
    });
    Promise.all(promises);
  });

请注意:

  1. 此方法仅适用于Firebase规则版本2(在安全规则顶部添加rules_version = '2';)。
  2. 这是一个辅助方法,用于反复调用list(),直到没有更多结果为止。 默认分页大小为1000