【问题标题】:How to setup ActiveStorage to allow both public and private attachments如何设置 ActiveStorage 以允许公共和私人附件
【发布时间】:2020-04-01 18:09:08
【问题描述】:

在我的 Rails 应用程序中,我有各种需要使用 ActiveStorage 上传的模型。一些模型需要签名的、一次性使用的 url,而其他模型需要不会过期的公共 url。

我没有看到任何关于如何在每个模型的基础上区分它们的选项。

这是否可以通过 ActiveStorage 实现,或者关于公共和私人上传是全部还是全部?

【问题讨论】:

  • 这不是 ActiveStorage 的功能。如果你想限制对实际文件 URL 的访问,你需要通过 Rails 提供它。
  • 我将从 rails 提供所有文件。问题是我无法为用户上传头像,因为它们的有效期为 5 分钟,因此无法在系统发送的电子邮件中使用,并且图像在过期时会损坏。我还有一些与默认 ActiveStorage 配置配合良好的私人上传。有没有办法从上传中删除过期?这样当用户加载电子邮件时就可以访问从 rails 生成的链接?

标签: ruby-on-rails rails-activestorage


【解决方案1】:

Active Storage 似乎不支持永久的、不会过期的 URL,也许您可​​以配置自己的控制器操作来重定向到附件 URL。

例如

def show
  redirect_to or send_data
end

然后在你想要的地方使用指向这个动作的url。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-11
    • 2017-05-13
    • 2018-05-17
    • 2019-11-18
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    相关资源
    最近更新 更多