使文件公开可读,但不是整个存储桶



我正在将文件从我的服务器上传到我的存储桶foobar .上传文件的路径为 foobar/uploads/avatars/123456789.jpg

我希望用户能够通过像 https://storage.googleapis.com/foobar/uploads/avatars/123456789.jpg 这样的公共https链接访问此文件。该链接必须在不登录任何谷歌帐户的情况下访问。我不希望用户能够通过 https://storage.googleapis.com/foobar/、https://storage.googleapis.com/foobar/uploads/avatars/或某种不同的链接浏览整个存储桶。

我正在使用@google云/存储来上传文件。如何使用 ACL 实现这些设置?

对于现有对象:

file.makePublic(function(err, apiResponse) {});

上传新对象时,请使用选项 public ,这相当于指定 options.predefinedAcl = 'publicRead' 。根据上传的方式,您可以像这样更改createWriteStream调用:

file.createWriteStream({public: true, metadata: {...}})

相关内容

  • 没有找到相关文章

最新更新