如何从Active Storage获取图像的永久URL?

时间:2019-11-04 21:46:04

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

我正在使用Google Cloud服务上传我的图像文件。我需要上传的图片的永久网址。

我使用.service_url获取文件的URL,但是链接在5分钟后失效。我尝试将过期日期设置得太长,但这无济于事。我该如何解决?

2 个答案:

答案 0 :(得分:1)

如果您想要一个没有中间件的永久链接(我的意思是一个系统可以捕获您的请求并生成一个临时链接进行下载),则可以使用ACL并拥有以下3种解决方案:

  • 如果匿名用户可以访问这些对象,则可以在您的对象(或存储桶)上授予allUsers使其公开。
  • 如果只有未知的经过身份验证的用户可以访问该对象,则可以在您的对象(或存储桶)上授予allAuthenticated
  • 如果只有已知的经过身份验证的用户可以访问该对象,则可以分别授予您对对象(或存储桶)的权限。

在所有情况下,都可以通过此网址https://storage.googleapis.com/<bucket>/path/to/file

访问对象

答案 1 :(得分:0)

我找到了答案。

设置public:true解决了storages.yml

中的此问题

有关更多信息:https://edgeguides.rubyonrails.org/active_storage_overview.html#public-access