真正的回形针替换(文件系统的特殊结构)



使用Rails6,我需要替换Paperclip,但我找不到任何可以轻松复制它的替换

具体来说,使用的文件结构回形针:

:model/:attachmant_field/000/000/000/:identifier/:style/:original_file_name

在过去的十年里,我们已经建立了几个依赖于该结构(或类似结构(的工具,此外,我们的用户希望在上传图像后,他们可以引用具有相同文件名和永久url(而不是像ActiveStorage和Shrine那样随机生成的名称(的样式;风格";url中的组件转换为其html中的另一个组件。

我在Shrine和ActiveStorage上花了几天时间来处理文件结构和命名,但一直失败,尽管我是;天然替代品";他们实际上处理事情的方式并不相同。

我们的最终系统在AmazonS3上,尽管与之集成并不是问题,只是文件系统。

感谢你的帮助,如果你想/需要以同样的方式完成事情,当似乎没有什么东西可以取代它时,不得不删除一些效果很好的东西真的很令人沮丧。我宁愿不必开始重写我们开发的所有工具,也不必重新设定客户的期望,以使用新的结构。

非常感谢。

你试过Carrierwave吗?您可以指定任何存储路径,并使用型号名称(model.class.to_s.underscore(、附件字段(mounted_as(和型号id(model.id(动态构建它。原始文件名也可用作original_filename

最新更新