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

时间:2017-05-09 02:50:43

标签: google-cloud-storage google-cloud-sdk

我将文件从我的服务器上传到我的信箱foobar。上传文件的路径为foobar/uploads/avatars/123456789.jpg

我希望用户能够通过公共https链接访问此文件,例如https://storage.googleapis.com/foobar/uploads/avatars/123456789.jpg。无需登录任何Google帐户即可访问此链接。 我希望用户能够通过https://storage.googleapis.com/foobar/https://storage.googleapis.com/foobar/uploads/avatars/或某种不同的链接浏览整个广告素材。

我正在使用@google-cloud/storage上传文件。如何使用ACL实现这些设置?

1 个答案:

答案 0 :(得分:3)

对于现有对象:

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

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

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