【问题标题】:Rails + Paperclip + S3 on Heroku upload errorHeroku上的Rails + Paperclip + S3上传错误
【发布时间】:2012-09-23 01:30:29
【问题描述】:

我正在尝试构建一个用户可以上传个人资料图片的应用。我正在尝试使用 Paperclip 和 S3。

我已经让它在我的本地机器上运行,但由于某种原因它不能在 Heroku 上运行。具体来说,没有任何内容上传到 S3,但来自 Paperclip 或 S3 的 Heroku 日志中也没有产生错误。以下是我在日志中看到的内容:

2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] Saving attachments.
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/original.jpg
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/thumb.jpg
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/medium.jpg
2012-10-02T07:22:33+00:00 app[web.1]: [paperclip] saving profile_pictures/2/large.jpg

这是我的 s3.yml 文件的样子:

development:  
  access_key_id: XXXXXXX
  secret_access_key: XXXXXXX
  bucket: dev-bucket

test:
  access_key_id: XXXXXXX
  secret_access_key: XXXXXXX
  bucket: test-bucket

production:
  access_key_id: XXXXXXX
  secret_access_key: XXXXXXX
  bucket: prod-bucket

有人知道为什么这在我的开发机器上有效,但在 Heroku 上无效?我对没有错误感到困惑......

【问题讨论】:

  • 个人资料图片模型的回形针选项是什么样的?
  • 您能说说您也在运行哪个版本的 Rails 吗?
  • 能否添加您的 Gemfile 显示相关的 gem?

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


【解决方案1】:

您是否使用 Heroku Toolbelt 设置了环境变量?

$ heroku config:set AWS_BUCKET=**BUCKET NAME**
$ heroku config:set AWS_ACCESS_KEY_ID=***GET FROM AMAZON AWS***
$ heroku config:set AWS_SECRET_ACCESS_KEY=***GET FROM AMAZON AWS***

为此,您必须设置:

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

【讨论】:

    猜你喜欢
    • 2015-10-29
    • 2012-02-22
    • 2017-09-03
    • 2019-07-14
    • 2011-05-02
    • 1970-01-01
    • 2012-05-02
    • 2014-01-18
    • 2012-12-30
    相关资源
    最近更新 更多