【问题标题】:Cannot download s3 image stored with Paperclip (Rails)无法下载使用 Paperclip (Rails) 存储的 s3 图像
【发布时间】:2013-04-19 15:53:21
【问题描述】:

我可以使用 Paperclip 上传图片,并且可以在 Amazon 的 S3 管理控制台网站上的存储桶中看到它们,但是 Paperclip 提供的 url(例如 image.url(:thumb))不能用于访问图片.我得到一个看起来像这样的网址:

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

当我将该 URL 放入浏览器时,我被发送到一个 XML 页面,该页面声明:“您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有未来的请求发送到此端点。”

其中“端点”是回形针路径的子域。但是当我去那个“端点”时,我只是得到另一个错误,上面写着“访问被拒绝”。然而,根据亚马逊网站提供的文件信息,该图像是公开可见的。谁能告诉我我做错了什么?

我的 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
    }
  }

【问题讨论】:

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


    【解决方案1】:

    我通过更改 :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

    【讨论】:

      猜你喜欢
      • 2011-01-10
      • 1970-01-01
      • 2014-04-14
      • 2011-12-29
      • 2015-03-10
      • 2011-12-13
      • 2018-07-11
      • 2010-10-11
      • 2014-01-18
      相关资源
      最近更新 更多