ruby-on-rails-3 – 在amazon-s3中的Errno :: ENOENT(没有这样的文件或目录)

我有应用程序部署到heroku使用亚马逊s3发布图像到桶.这工作得很好.但是当获取相同的图像时,它会给出错误:

Errno::ENOENT (No such file or directory showing path s3.amazonaws.com/bucket_name/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115)

在浏览器的URL中复制和粘贴相同的路径不起作用.如果我使用存储桶名称作为终点,则可以使用以下路径

/bucket_name.s3.amazonaws.com/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115.

但我不知道如何在我的模型中配置此URL.我按照heroku的方式配置aws-sdk.

 https://devcenter.heroku.com/articles/paperclip-s3

模型has_attached_file似乎我在这里缺少一些东西.对于其他配置,你可以检查上面的链接.

has_attached_file :image, :styles => { :medium => "100x100>", :thumb => "100x100>" }

谢谢

最佳答案 在config / initializers / paper_clip.rb中包含给定的代码解决了我的问题.

    Paperclip::Attachment.default_options.merge!(
        :url => ':s3_domain_url',
        :path => 'app/public/:class/:attachment/:id_partition/:style/:filename'
    )
点赞