如何设置Google云端存储设置"公开分享" false并在文件名前面显示一个复选框

时间:2017-07-25 11:23:19

标签: google-cloud-platform google-cloud-storage gcloud

当我从node.js应用程序上传图像时,由于公共链接可用,图像会公开上传。 我想私下上传图片

const storage = Storage({
  projectId: config["googleProjectID"]
});

for (var key in CLOUD_BUCKET){
  bucketReference[key] = storage.bucket(CLOUD_BUCKET[key]); 
}
const gcsname = "your."+extension;
if(bucketReference[tag]){
    file = bucketReference[tag].file(gcsname);
  }

这是使用baseurl / bucket_name / your.jpeg上传图片,但公共链接可用,任何人都可以通过在网址中粘贴并登录Gmail来查看。

我想在上传时带上一个复选框而不是公共链接(当我们在存储上手动上传时会发生这种情况)。

请帮忙解决这个问题!

1 个答案:

答案 0 :(得分:0)

得到了答案!

const stream = file.createWriteStream({
    metadata: {
      contentType: "image/jpeg",
    },
    predefinedAcl: "bucketOwnerRead"//shows no checkbox since project owner has reader access and no one accept object owner can see images
    predefinedAcl: "bucketOwnerFullControl" //shows a checkbox and only shows the image to those who are project owners
  });

" predefinedAcl"是关键。 它将图像上传为公共或私有。

这只允许项目团队所有者在登录后公开网址或以隐身方式查看网址。