【发布时间】:2020-04-22 03:20:02
【问题描述】:
在尝试删除文件后,我收到了删除成功的通知。但是,当我检查存储控制台页面时,文档仍然存在。
如果我手动指定之前上传的文件的名称,那么该文件将被成功删除。
知道我在这里做错了什么吗?它是否与我刚刚上传文件而现在我正在删除它的事实有关?存储引用上是否有某种缓存,我必须再次查询才能知道新文件存在?
我正在关注 Google 在此处提供的文档。 https://firebase.google.com/docs/storage/web/delete-files
这是我的代码
const storage = firebase.storage();
const picture = storage.ref().child('images/' + file.name);
picture
.delete()
.then(function () {
notification.success({
message: 'File Deleted',
placement: 'bottomLeft',
});
})
.catch(function (error) {
console.error(error);
notification.warning({
message: 'There was an error',
placement: 'bottomLeft',
});
});
更新
当我说“手动指定文件”时,我的意思是我可以做到这一点
const picture = storage.ref().child('images/alreadyUploadedImage.png');
然后运行相同的代码来删除。这就是我询问缓存的原因,因为似乎如果我通过更改代码中的此文本来重新加载浏览器会话,我现在可以删除文件。此外,这不适用于我刚刚上传的文件(在我刷新浏览器之前)。如果我将代码中的名称更改为“images/image.png”,然后上传具有该名称的图像,然后立即尝试将其删除,则它不起作用。但是,如果我随后刷新浏览器并添加另一张图片,然后删除该图片,则“image.png”文件将从存储中消失。
【问题讨论】:
-
您是否启用了对象版本控制?也许它已成功删除,但您看到的是以前的版本?如果不是这样,您能否详细说明手动指定文件注释?
-
您是否刷新了控制台页面以查看文件是否真的消失了?控制台不像 Firestore 和实时数据库那样实时显示更新。
-
@Noel 对象版本控制已在此存储桶上暂停并且从未开启。
-
@DougStevenson 我每次都会刷新该页面,但文件仍然存在。
标签: javascript firebase firebase-storage