使用 rails 和回形针上传到几个不同的 s3 桶

Uploading to several different s3 buckets with rails and paperclip

我是 运行 a rails 5 api,我正在尝试将照片上传到 link 不同的路径以分离 s3 存储桶。我有 3 个独立的桶,处理 3 个独立的路线。有一个头像桶,用来存放头像。有一个封面桶,用于存放相册的封面照片,还有一个照片桶,用于存放每个相册的照片。 api.

上的 3 个独立模型和控制器

我写了正常的回形针迁移,但它们都通过我的 config/application.rb 文件中的环境设置使用 figaro gem

为简单起见,

bucket1: 头像,POST /avatar

bucket2:封面,POST/封面

bucket3: 照片,POST /photo

如何使用回形针告诉 model/controller 上传到特定的存储桶?

相当简单!您可以在模型的 has_attached_file 设置中执行此操作。

class User < ApplicationRecord
  has_attached_file :avatar, storage: :s3, bucket: "bucket-name"
end

还有其他一些方法 - rtfm,https://github.com/thoughtbot/paperclip/blob/b01f47407a03feabd41ac8786b577310e3be87b6/lib/paperclip/storage/s3.rb