使用CarrierWave和AWS指定图像到期?

时间:2011-12-08 02:02:27

标签: ruby-on-rails amazon-s3 amazon-web-services carrierwave fog

有没有人知道如何为通过Fog使用CarrierWave上传到AWS的图像指定图像到期标头?

到目前为止我已经得到了这个:

CarrierWave.configure do |config|  
  config.fog_credentials = {  
    :provider               => #filtered  
    :aws_access_key_id      => #filtered  
    :aws_secret_access_key  => #filtered  
  }  
  config.fog_directory  = #filtered  
end  

将此数据添加到一堆已上传的图片的加分点。

谢谢!我是一个菜鸟,不能让我自己工作。

1 个答案:

答案 0 :(得分:0)

以防其他人遇到此问题,上面comments中提到了答案:

config.fog_attributes = { 'Cache-Control' => "public, max-age=#{1.year.to_i}" }

或者,如果使用carrierwave-aws gem:

config.aws_attributes = { cache_control: 'max-age=604800' }

您可以使用s3cmd更新s3中现有对象的标题:

s3cmd --recursive modify --add-header="Cache-Control:public, max-age=604800" s3://bucket/path/