【问题标题】:Store paperclip files only on s3仅在 s3 上存储回形针文件
【发布时间】:2014-02-18 09:42:10
【问题描述】:
是否可以仅在 s3 上存储文件?
我只需要用于下载和元数据存储的回形针,因为将文件直接上传到 s3。
编辑:我已经使用了 s3 存储,但在上传到文件系统上的 s3 存储之前使用了这个配置回形针。已由upload direct to s3 部分解决,但模型上的回形针从 s3 创建/更新下载文件,检查内容类型和其他默认内容,以便上传相同的文件。
【问题讨论】:
标签:
ruby-on-rails
ruby
amazon-s3
paperclip
【解决方案1】:
正如 Bharat 所说,您可以像这样upload directly to S3 using Paperclip:
#config/environments/production.rb
Paperclip::Attachment.default_options.merge!({
storage: :s3,
s3_host_name: 's3-eu-west-1.amazonaws.com',
s3_credentials: {
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
},
bucket: ENV['S3_BUCKET_NAME']
})
这将设置您的“默认”设置以将所需文件上传到 S3
回形针
您必须记住,Paperclip 实际上并不“存储”文件——它只是处理 ActiveRecord 与您的存储设施之间的交互
大多数应用程序会将文件存储在其本地文件结构 (/public/system) 中,但通过使用 s3: 存储设置,您可以将它们直接上传到 S3