3

I have a firebase storage path that looks like this.

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

the "test" folder has about 25-50 files. I know there is not a way to delete the whole directory in firebase but Is there a way to iterate through all the files in a directory and deleting them one by one?

Renaud Tarnec
  • 79,263
  • 10
  • 95
  • 121
Manan Sharma
  • 507
  • 1
  • 5
  • 18

1 Answers1

6

Is there a way to iterate through all the files in a directory and deleting them one by one?

Yes, you can use the listAll() method, as follows:

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

Note that:

  1. This method is only available for Firebase Rules Version 2 (add rules_version = '2'; at the top of the Security Rules).
  2. This is a helper method for calling list() repeatedly until there are no more results. The default pagination size is 1000.
Renaud Tarnec
  • 79,263
  • 10
  • 95
  • 121