提供来自amazon s3 rails的图像

时间:2011-03-17 10:20:33

标签: ruby-on-rails ruby amazon-s3 paperclip

我将所有图像存储在客户端的亚马逊S3中我不想显示亚马逊s3网址,因为我用以下方法编写了attachments_controller

 def show
     send_data(
        open( @attachment.content.url, "rb").read, 
         :type => @attachment.content_content_type,
          :filename => @attachment.content_file_name,
          :disposition => "inline"
       )
 end

在我添加的路线中,每个附件需要调用上面的操作,现在一切都很好,但问题是每次渲染它都没有缓存它。请让我知道如何缓存它更好的是动作缓存是否合适?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

这是对@ Simone回答中提出的问题的回答。

您使用Amazon's Cloudfront cdn。

实现了这一目标(付出了一些努力)

您可以将多个发行版链接到一个S3存储桶,每个发行版最多可以包含10个CNAME。

  

多个CNAME别名

     

您可以使用多个CNAME别名   分发。例如,你   可以有alias1.example.com和   alias2.example.com两者相关联   使用您的发行版的域名。   您最多可以拥有10个CNAME别名   按分配。你可以关联一个   特别是CNAME别名只有一个   分布。

developer guide.

中提供了更多信息