当我上传大于150kb的图片时,我目前收到以下错误:Excon::Errors::SocketError - Broken pipe (Errno::EPIPE)
。 150kb以下的图像正常工作。研究表明其他人也遇到过这个问题,但我还没有找到解决方案。
错误消息
Excon::Errors::SocketError at /photos
Message Broken pipe (Errno::EPIPE)
File /Users/thmsmxwll/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/buffering.rb
Line 375
image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :fog
include CarrierWave::MimeTypes
process :set_content_type
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :large do
process :resize_to_limit => [800, 600]
end
end
carrierwave.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
aws_secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
:region => 'us-east-1'
}
config.fog_directory = 'abcd'
config.fog_public = true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}
end
答案 0 :(得分:8)
对我来说,解决方案要求我在美国标准区域重建桶。最初,该存储桶位于俄勒冈州,虽然我没有在载波设置中指定区域,但即使文件非常小,也无法完成上传。
答案 1 :(得分:1)
我遇到了同样的问题,我注意到只有当我上传大文件(400kb)时才会发生,而较小的(100kb)则可以正常工作。