无法让Carrierwave与Amazon S3配合使用

时间:2012-03-14 16:16:19

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

我正在尝试将Amazon S3与Carrierwave一起使用。这是我第一次使用S3,所以我不确定我大部分时间都在做什么。我正在使用带有雾的Carrierwave,并通过ActiveAdmin上传文件(只是图像),但是当我尝试上传任何内容时,我收到了“破管”错误

This是错误的完整痕迹。

我在初始化程序中使用此配置设置Carrierwave:

CarrierWave.configure do |config|
  config.fog_credentials = {
    :provider                         => 'AWS',
    :aws_access_key_id                => 'myid',
    :aws_secret_access_key            => 'mysecretkey',
  }
  config.fog_directory = 'bucketname'
  config.s3_region = 'EU'
end

我在上传者课程中改变了这一点:

#storage :file
storage :fog

我正在使用Rails 3.1

谁能给我一个关于什么是错的线索?我一直在搜索Carrierwave和Fog的公开问题,无法找到任何东西。

重要编辑:我只是尝试上传一张非常小的图片而且工作正常,但由于某种原因> 100 KB给了我“破管”错误。

2 个答案:

答案 0 :(得分:0)

s3_region应为'eu-west-1'

答案 1 :(得分:0)

在我的情况下,'Broken pipe'是由RequestTimeTooSkewed错误引起的。这里由AWS网站解释:http://www.bucketexplorer.com/documentation/amazon-s3--difference-between-requesttime-currenttime-too-large.html

因为默认的S3存储桶位置是us-east-1而我位于West,我不得不将我的存储桶的“Region”更改为Oregon或us-west而且它有效!