5

我有使用亚马逊 s3 将图像发布到存储桶的应用程序部署到 heroku。这工作得很好。但是在获取相同的图像时会出现错误:

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>" }

谢谢

4

1 回答 1

2

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

    Paperclip::Attachment.default_options.merge!(
        :url => ':s3_domain_url',
        :path => 'app/public/:class/:attachment/:id_partition/:style/:filename'
    )
于 2013-03-05T17:42:45.900 回答