我将文件从我的服务器上传到我的信箱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实现这些设置?
答案 0 :(得分:3)
对于现有对象:
file.makePublic(function(err, apiResponse) {});
上传新对象时,请使用public
选项,这相当于指定options.predefinedAcl = 'publicRead'
。根据您上传的方式,您可能会改变createWriteStream
这样的电话:
file.createWriteStream({public: true, metadata: {...}})