2013-04-25 81 views
0

我可以使用Paperclip上传图像,并且可以在亚马逊的S3管理控制台网站上的我的存储桶中看到它们,但Paperclip提供的URL(例如image.url(:拇指))不能用于访问图像。我得到的URL看起来是这样的:无法下载使用Paperclip(Rails)存储的s3图像

http://s3.amazonaws.com/xxx/xxx/images/000/000/012/thumb/image.jpg?1366900621

当我把我的浏览器,网址,我发送给美国XML页面:“您尝试访问的桶必须解决的问题使用指定的端点,请将所有未来的请求发送到此端点。“

其中“端点”是Paperclip路径的子域。但是当我去那个“端点”时,我只是得到另一个错误,说“拒绝访问”。然而,根据亚马逊网站提供的文件信息,该图像是公开可查看的。有人能告诉我我做错了什么吗?

我development.rb文件只包含以下内容:

config.paperclip_defaults = { 
    :storage => :s3, 
    :s3_credentials => { 
     :bucket => AWS_BUCKET, 
     :access_key_id => AWS_ACCESS_KEY_ID, 
     :secret_access_key => AWS_SECRET_ACCESS_KEY 
    } 
    } 

回答

2

我把它通过更改默认的工作:URL

# config/initializers/paperclip.rb 
Paperclip::Attachment.default_options[:url] = ':s3_domain_url' 
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename' 

我在美国国内来的,但它似乎这仍然是我的代码工作所必需的(参见https://devcenter.heroku.com/articles/paperclip-s3