如何在 Amazon S3 中自定义 Rails 5.2 ActiveStorage 附件的路径?

Posted

技术标签:

【中文标题】如何在 Amazon S3 中自定义 Rails 5.2 ActiveStorage 附件的路径?【英文标题】:How can I customize the path of a Rails 5.2 ActiveStorage attachment in Amazon S3? 【发布时间】:2018-09-28 17:49:54 【问题描述】:

添加附件时如

has_one_attached :resume_attachment

保存的文件最终位于 S3 存储桶的顶层。如何将它们添加到子目录?例如,我的旧回形针配置可以按型号名称在目录中分类。

【问题讨论】:

反对者,请解释一下,以便我改进问题。我没有找到重复的。如果这只是一个坏主意,请解释原因。 很遗憾你不能,我也在寻找这个,但我认为目前 AS 太“年轻”了,你可以在替代品中找到所有选项。 几乎没有关于这个的问题几乎重复:***.com/questions/49852567/…;我也不理解反对者:( @codingaddicted 谢谢。几乎重复,但没有重复。 我完全同意,关于 SO 的许多特定方面目前还没有被 AS 涵盖。对我来说,你的问题是 100% 有效的,我希望 AS 团队也能看到它和其他问题。 【参考方案1】:

你不能。那时,对于has_one_attachedhas_many_attached 宏,只有一个选项可能是:dependent。 https://github.com/rails/rails/blob/master/activestorage/lib/active_storage/attached/macros.rb#L30

请参阅(也许是您投反对票的原因,但它是关于“直接”上传...):How to specify a prefix when uploading to S3 using activestorage's direct upload?。 响应来自 Active Storage 的主要维护者。

【讨论】:

感谢您找到相近但不重复的。我将更新标题以限制版本并接受。

以上是关于如何在 Amazon S3 中自定义 Rails 5.2 ActiveStorage 附件的路径?的主要内容,如果未能解决你的问题,请参考以下文章

使用 plupload 和 Rails 3 的 Amazon S3 分段上传

使用Rails显示存储在Amazon S3上的PDF

Rails 直接上传到 Amazon S3

如何在 Rails 中自定义活动管理视图?

Paperclip 不显示图像,而是在 rails 中显示带有 amazon s3 的标题?

Rails:Amazon S3 + Paperclip 不在数据库中存储任何内容?