微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 url Firebase Storage 中删除图片

如何解决从 url Firebase Storage 中删除图片

在我的云函数中,我试图根据其 url 删除图像,但我认为我没有正确使用 API,因为我收到错误

const admin = require('firebase-admin');

exports.deleteImageWhenOfferDeleted = functions.firestore 
  .document('offers/{offerId}')
  .onDelete(async(snap,context) => {
    console.log('----------------start function--------------------')
    const deletedOffer = snap.data();
    var imageUrlToDelete = deletedOffer.imageUrl;
    await admin.storage.getPathStorageFromUrl(imageUrlToDelete).delete();

function getPathStorageFromUrl(url){
    const baseUrl = "https://firebasestorage.googleapis.com/v0/b/muslim-coloc.appspot.com/o/";
    let imagePath = url.replace(baseUrl,"");
    const indexOfEndpath = imagePath.indexOf("?");
    imagePath = imagePath.substring(0,indexOfEndpath);
    imagePath = imagePath.replace("%2F","/");
    return imagePath;
}

解决方法

我认为您在 storage 字后缺少括号。 您需要获取存储对象的实例。

admin.storage.getReferenceFromUrl(...)

应该

admin.storage().getReferenceFromUrl(...)

顺便说一句:考虑使用 TypeScript,因为它会在编译期间捕获类似的错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。