1

我正在尝试使用 ActiveStorage 来存储我的图像。使用 Paperclip,在 S3 存储桶中,我们可以拥有 product/id_image/*.png。但是对于 ActiveStorage,所有内容都位于根目录和变体文件夹中。

在 S3 上上传文件时,有什么方法可以实现类似层次结构的行为,至少按模型一个文件夹?

4

1 回答 1

0

默认情况下,Active Storage 不包含路径/文件夹功能,但您可以通过以下方式覆盖该功能

model.file.attach(key: "product/id_image/filename.png", io: File.open(file), content_type: file.content_type, filename: "#{file.original_filename}")

这样做会将密钥与您要在 s3 子目录中存储文件的路径一起存储,并将其上传到您想要在 s3 中的确切位置。

于 2021-05-05T13:27:22.403 回答