【问题标题】:Amazon S3 - Carrierwave Image UploadAmazon S3 - 载波图像上传
【发布时间】:2015-05-13 21:00:33
【问题描述】:

所以,我正在尝试使用 Fog 将图像从 Rails API 上传到 S3。

每当我尝试上传图片时,我都会收到以下信息:

  Excon::Errors::Forbidden (Expected(200) <=> Actual(403 Forbidden)
  (...)
  All access to this object has been disabled

它正在开发中,但是一旦我切换到生产,我就会收到上述错误。我正在使用我创建的用户的密钥,该用户设置了完整的管理权限。

我的carrierwave.rb: 需要“载波”

CarrierWave.configure do |config|

  config.fog_credentials = {
    :provider               => "AWS",
    :region                 => "us-east-1",
    :aws_access_key_id      => ENV['AWS_ACCESS_KEY_ID'],
    :aws_secret_access_key  => ENV['AWS_SECRET_ACCESS_KEY']
  }

  if Rails.env.production?  
    config.cache_dir = "#{Rails.root}/tmp/uploads"
  end

  config.fog_directory  = ENV['AWS_BUCKET']
  config.fog_public     = false
end

有什么想法吗?提前致谢! :)

【问题讨论】:

  • 调查问题所需的完整回溯。
  • 您应该检查 ENV 是否具有您在生产中需要的所有参数。从哪里获得 ENV?
  • @denys28,愚蠢的错误。忘记在 Heroku 上添加区域 ENV。现在一切正常。谢谢!

标签: ruby-on-rails ruby-on-rails-4 amazon-s3 carrierwave fog


【解决方案1】:

始终确保您拥有正确的 ENV 变量和正确的 S3 密钥。

这就是我的问题。

【讨论】:

    【解决方案2】:

    就我而言,问题与 Heroku 上的 ENV 有关。 我忘了添加 REGION 变量。

    因此,值得检查您是否正确设置了所有变量。

    【讨论】:

      猜你喜欢
      • 2017-04-03
      • 2019-09-20
      • 1970-01-01
      • 2012-07-17
      • 2018-01-10
      • 2015-01-05
      • 1970-01-01
      • 2011-11-10
      • 2018-07-16
      相关资源
      最近更新 更多