node.js - Google Cloud Storage - 尝试删除存在的对象时找不到
问题描述
这可能是一个错误,但我无法弄清楚。
我已成功将图像上传到带有签名 URL 的存储桶。当尝试从我的 Express 后端删除对象时,使用 Google 示例中的以下代码,我得到 Not Found,但该对象以正确的名称存在。想法?
async function deleteFile(filename) {
console.log(filename); // correct file name as exists in bucket
try {
await storage
.bucket(bucketName) // correct bucket name and subfolder 'my-image-bucket/posts'
.file(filename)
.delete();
} catch (e) {
console.log('Error message = ', e.message); // Not Found
}
}
解决方案
我看到的唯一危险信号是,“正确的存储桶名称和子文件夹'my-image-bucket/posts' ” 旁边.bucket()
。您应该只将存储桶名称传递给.bucket()
,然后将完整路径传递给.file().
const bucketName = 'my-image-bucket';
const filename = 'posts/image.jpg';
await storage
.bucket(bucketName)
.file(filename)
.delete();
推荐阅读
- python - 无法在我的数据中从字符串转换为 int 列
- python - 在 numpy 数组中找到很大的差异
- angular - 如何以角度将对象从一个组件传递到另一个组件
- java - (React Native/Android) Android getFilesDir() 给我 '/data/user/' 而不是 '/data/data/'
- python - TensorFlow 中类似 NumPy 的切片
- security - 为什么 Emacs 抱怨有风险的文件局部变量?
- powershell - 使用 powershell 进行敏感词搜索
- python - Igraph 绘图损坏节点名称
- batch-file - 如何通过使用批处理比较两个文本文件来删除重复的单词或行?
- php - PHP中多维数组的总和值