如何通过url从Firebase存储中删除图像?

时间:2020-07-02 09:05:26

标签: typescript firebase google-cloud-firestore

如何通过url从Firebase存储中删除图像? 当我从集合中删除项目(类别)时,图像仍保留在存储中。

接口类别:

    export interface ICategory {
        readonly id     : string
        name            : string
        image           : string 
    }

删除功能

    export const removeCategoryFB = (id: string, setCategories: any) => {
      firestore()
        .collection("categories")
        .doc(id)
        .delete()
        .then(() => {
          getCategoriesFB(setCategories);
        })
        .catch((err) => {
          alert(err);
        });
    };

2 个答案:

答案 0 :(得分:0)

您需要获取存储参考,然后将提供文件存储路径以删除文件。

deleteChatFiles(filePath) {
    const spaceRef = firebase
      .storage()
      .ref()
      .child(filePath);
    spaceRef.delete();
  } 

this.deleteFile('files/1579283129986-vMglgpHwT6c06RSmAiuYP6Hk2sz1.png');

答案 1 :(得分:0)

我通过以下方式解决了这个问题

refFromURL(URL)

示例代码

  firestore()
    .collection('categories')
    .doc(id)
    .get()
    .then((snapshot) => {
      storage()
        .refFromURL(snapshot.data().image.url)
        .delete()
    })