2012-12-30 15 views
7

約150kbを超える画像をアップロードすると、現在、次のエラーが表示されます:Excon::Errors::SocketError - Broken pipe (Errno::EPIPE)。 150kb以下の画像は正常に動作します。研究によると、他の人たちもこの問題を経験していますが、まだ解決策を見つけるつもりはありません。Carrierwave + s3 + fog(Excon :: Errors :: SocketError)

エラーメッセージ

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

私は同じ問題に取り組んでいると思います。この問題に対する解決策はありますか? Thx – Bachet

+0

残念ながら。 –

+1

数日前にこのエラーが発生しましたが、私のfog_directoryが間違っていたことが判明しました。バケット名が正しいことと、権限が正しく設定されていることを確認する価値があります。 – Wakeuphate

答えて

8

私にとって、このソリューションでは米国標準の領域でバケットを再作成する必要がありました。もともと、バケツはオレゴン地域にあり、キャリアウェーブ設定で地域を指定していない間に、非常に小さいファイルでもアップロードを完了できませんでした。

+0

こんにちは、同じ問題(小さなファイルをアップロードすることができなかった)とあなたのソリューション(米国標準に切り替える)も私のために働いた。 – Daan

+0

私のために働いた。 US-Standardでは、地域を指定する必要はありません。代わりの解決策は、あなたのバケットに適した領域を指定することです:http://www.bucketexplorer.com/documentation/amazon-s3--amazon-s3-buckets-and-regions.html – rebagliatte

1

私はヘクタール同じ問題を抱えて、大きなファイル(400kb)をアップロードしたときにしか起こらないことがわかりました。小さくても(100kb)うまくいきました。

+0

私は150kb以上のものをアップロードできないことがわかりましたが、イメージファイルのサイズを下げる以外の方法で解決策を見つけられませんでした。 –

+4

問題はバケット領域にありました。バケツを作成したとき、initializer/carrierwave.rbファイルで指定されたものとは異なる場所を指していました。私は私の地域をすべて修正した後に働いた! –

+0

私はこれを二重にチェックしました...私は三重チェックし、私の問題を解決するかどうかを確認します。ありがとう。 –

関連する問題