【发布时间】:2018-05-02 17:22:07
【问题描述】:
我使用 Firebase 存储和实时数据库分别存储图像及其下载 url。文件名以随机方式生成,下载 url 生成并保存到实时数据库中。
场景: 如果用户上传新图像(例如个人资料图像),我想在 downloadImageurl 的帮助下删除旧图像(最初上传图像时会生成下载图像 url,并将其保存在实时数据库中)。旧图像如何已删除?我已尝试以下代码,但要使其正常工作,我必须获取文件名。
gcs
.bucket("e**********.appspot.com") // find it in Firebase>Storage>"gs://...." copy without gs
//or go to console.cloud.google.com/ buckets and copy name
.file("images/" +event.params.uid+"/"+filename) //file location in my storage
.delete()
.then(() => {
console.log(`gs://${bucketName}/${filename} deleted.`);
})
.catch(err => {
console.error('ERROR-DELETE:', err+ " filename: "+filename);
});
【问题讨论】:
-
您是否在 Cloud Functions 中运行此代码?您正在使用 Google Cloud Storage 节点 API?如果您提供更多关于这里发生的事情的背景信息,这可能会有所帮助。
-
@DougStevenson 是的,我正在使用云功能。请查找更新后的问题
-
我正在使用 const gcs = require('@google-cloud/storage')();并按照 github 教程生成缩略图。有关此的任何帮助都将有助于进一步进行
-
您可以将文件的路径存储在 Storage 中,也可以存储下载 URL。当需要删除时,您也可以使用它的路径。
标签: firebase firebase-realtime-database firebase-storage google-cloud-functions