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

Man*_*rma 5 javascript google-cloud-storage firebase google-cloud-platform firebase-storage

我有一个 Firebase 存储路径,如下所示。

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

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

Ren*_*nec 8

有没有一种方法可以遍历目录中的所有文件并将它们一一删除?

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

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

注意:

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