我正在尝试将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给了我“破管”错误。
答案 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而且它有效!