存储在Google云端存储中的文件不公开

时间:2018-03-07 16:42:39

标签: google-app-engine

要以编程方式在Google云端存储中存储文件,请按照以下说明进行操作:

https://cloud.google.com/appengine/docs/standard/java/building-app/cloud-storage

文件确实上传了,但是当我尝试在以下位置查看文件时:

  

https://storage.googleapis.com/myapp.appspot.com/myimage.jpg

访问被拒绝。

在GAE管理控制台中,显然没有检查使文件公开的复选标记,但是存储它的代码使用:

builder.acl("public-read");

然而,文档声明:

  

本指南的前几节介绍了如何公开存储   云存储中的可查看图像

所以我不知道如何以编程方式公开文件。

1 个答案:

答案 0 :(得分:3)

在您的云存储控制台(https://console.cloud.google.com/storage/browser?project=YOURPROJECT)中,检查存储桶的此设置:

enter image description here

以编程方式,这样的东西在python中起作用:

import cloudstorage as gcs

with gcs.open(filename, 'w', options={'x-goog-acl': 'public-read'}) as f:
    f.write(image_bytes)
    f.close()