0

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

是错误的完整跟踪。

我在初始化程序中使用此配置设置了 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 给了我“破管”错误。

4

2 回答 2

0

s3_region 应该是'eu-west-1'.

于 2012-03-14T16:31:14.940 回答
0

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

因此,因为默认的 S3 存储桶位置是 us-east-1 并且我位于西部,所以我不得不将存储桶的“区域”更改为俄勒冈州或 us-west 并且它有效!

于 2013-01-14T07:57:30.683 回答