ruby-on-rails - 如何从 Active Storage 获取图像的永久 URL?

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

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

我使用 .service_url 来获取文件的 URL,但该链接会在 5 分钟后过期。我尝试将过期日期设置得太长,但这没有帮助。我该如何解决这个问题?

最佳答案

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

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

在所有情况下,都可以通过此 url https://storage.googleapis.com/<bucket>/path/to/file 访问对象

关于ruby-on-rails - 如何从 Active Storage 获取图像的永久 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58701536/

相关文章:

ruby-on-rails - rails : setting parameters in URLs

google-cloud-storage - 使用 gsutil 执行 rsync 时公开文件

ruby-on-rails - 如何在 rails/rack 应用程序上与 node.js 实例共享身份验证?

ruby-on-rails - 如何将应用程序 css 包含到 Rails 3.1 中的邮件程序 View 中

ruby-on-rails - nil的未定义方法 `last':YouTube的NilClass嵌入rails

google-cloud-platform - 为什么 Google Cloud Storage 总是回答 cors 错误 : No 'Access-Control-Allow-Origin' header is present on the requested resource

google-cloud-storage - 设置 Google Storage Bucket 的默认缓存控制

postgresql - 如何在 Google Cloud 上的 Kubernetes 中备份 Postgres 数据库?

django - 将文件从 Docker 容器上传到 Google Cloud Storage

ruby-on-rails - Tesseract 适用于仅包含文本的图像 - 裁剪图像以仅从图像中获取文本部分