Rails - 将私人文件上传到Google云端存储

时间:2015-06-25 16:33:55

标签: ruby-on-rails google-cloud-storage privacy fog

我正在开发一个Rails项目,上传的文件存储在Google的云存储中(通过Fog)。默认情况下上传的每个文件都选中了“公共链接”复选框,并且所有者的两个权限为“所有者”,“allUsers”为“读者”(我通过Google开发者控制台查看了这些设置)。

我想这样做,以便当用户上传附件时,默认情况下实际上是“公共链接”复选框未选中,并且“allUsers”没有权限。这可能吗?

2 个答案:

答案 0 :(得分:1)

是 - 您可以通过更改存储桶上的默认对象ACL来实现此目的。您可以使用gsutil命令执行此操作,如:

gsutil defacl ch -d allUsers gs://your-bucket

这将删除存储桶的默认对象ACL上的allUsers:R grant,并且此点之后上传的对象将不会公开读取。

如果要在运行此命令之前或之后查看存储桶的默认对象ACL,可以执行以下操作:

gsutil defacl get gs://your-bucket

答案 1 :(得分:1)

对于:has_attached_file选项,我添加了这个:

:fog_public => false