如何解决从 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 举报,一经查实,本站将立刻删除。