8

我目前收到以下错误:Excon::Errors::SocketError - Broken pipe (Errno::EPIPE)上传大于约 150kb 的图像时。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

载波.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
4

2 回答 2

9

对我来说,该解决方案需要我在美国标准区域重新创建存储桶。最初,存储桶位于俄勒冈州地区,虽然我没有在载波设置中指定地区,但即使文件非常小,我也无法完成上传。

于 2013-09-12T03:20:19.737 回答
1

我有同样的问题,我注意到只有在我上传大文件(400kb)时才会发生,而较小的文件(100kb)它工作正常。

于 2013-02-20T14:54:02.257 回答