在我的模型中,使用回形针。我添加了this代码行,但仍无效
has_attached_file :attachment, {
:styles => {
:medium => ["654x5000000>", :jpg],
:small => ["260x50000000>", :jpg],
:thumb => ["75x75#", :jpg],
:facebook_meta_tag =>["200x200#", :jpg]
},
:convert_options => {
:medium => "-quality 80 -interlace Plane",
:small => "-quality 80 -interlace Plane",
:thumb => "-quality 80 -interlace Plane",
:facebook_meta_tag => "-quality 80 -interlace Plane"
},
:s3_headers => { 'Cache-Control' => 'max-age=315576000', 'Expires' => 10.years.from_now.httpdate }
}.merge(PAPERCLIP_STORAGE_OPTIONS)
PS:我在GTmetrix.com进行了测试,根据他们的统计数据,亚马逊图片中没有到期标题。
答案 0 :(得分:5)
为了扩展詹姆斯对其他人不确定如何重新处理旧附件的回答,有两种方法可以做到:
1)通过rake(可选择每个CLASS)重新处理所有附件
rake paperclip:refresh CLASS=User
2)重新处理特定附件(例如通过迁移)
User.where("attachment IS NOT NULL").find_each do |user|
user.attachment.reprocess!
end
答案 1 :(得分:3)
看起来你没有重新处理/上传你的旧附件,这就是为什么他们的标题没有改变。
答案 2 :(得分:0)
如果有人需要使用动态过期标头获取附件的网址,这对我有用:来自paperclip文档的{attachment {1}}附件中的attachment.expiring_url(60 * 60)