CarrierWave 雾,使 s3 上传 public

CarrierWave fog, making s3 uploads public

我正在为我的 Rails 应用程序使用 CarrierWave with Fog 将我的图像上传到 AWS S3 存储桶。我的配置如下:

 CarrierWave.configure do |config|
  config.fog_provider = 'fog/aws'                        # required
  config.fog_credentials = {
    :provider               => 'AWS',
    :aws_access_key_id      => 'KEY',
    :aws_secret_access_key  => 'SECRET',
    :region                 => 'us-west-2'
  }
  config.fog_directory  = 'bucket101'
  config.fog_public = true
  config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}"}
end

上传成功,但是浏览器无法查看上传的图片。这就是我得到的。

谢谢!!

您在 S3 控制台中看到上传的文件了吗?权限是什么?

config.fog_public = true 应该启用 public 读取。注意:在上传之前必须设置该配置(并且初始化程序重新 运行)才能生效。