2012-12-30 20 views
7

Şu anda yaklaşık 150 kb'dan büyük görüntüler yüklerken şu hatayı alıyorum: Excon::Errors::SocketError - Broken pipe (Errno::EPIPE). 150kb altındaki görüntüler doğru şekilde çalışıyor. Araştırmalar, başkalarının da bu sorunu yaşadığını gösteriyor ancak henüz bir çözüm bulmuyorum.Carrierwave + s3 + fog (Excon :: Hatalar :: SocketError)

Hata mesajı

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

Sanırım aynı sorunla uğraşıyoruz. Bu soruna karşı herhangi bir çözüm buldunuz mu? Thx – Bachet

+0

Ne yazık ki değil. –

+1

Birkaç gün önce bu hataya karşı geldim ve bu benim fog_directory öğesinin yanlış olduğu ortaya çıktı (bu, belirli bir şey için çok genel bir hatadır). Kepçe adının doğru olup olmadığını kontrol etmeye ve izinlerin doğru şekilde ayarlanmış olmasına değer olabilir. – Wakeuphate

cevap

8

Benim için çözüm, US-Standard bölgesinde kepçeyi yeniden oluşturmamı gerektirdi. Başlangıçta, kova Oregon bölgesinde ve ben de carrierwave ayarlarımda bir bölge belirlemiyorken, çok küçük dosyalarla bile tamamlamak için bir yükleme yapamadım.

+0

Merhaba aynı sorun vardı (küçük dosyalar bile yükleyemedi) ve çözümünüz (ABD Standart bölgesine geçiş) benim için de çalıştı. – Daan

+0

Benim için de çalıştı. ABD-Standart bir bölge belirtmemizi gerektirmiyor gibi görünüyor. Alternatif bir çözüm, grubunuz için doğru bölgeyi belirtmektir: http://www.bucketexplorer.com/documentation/amazon-s3--amazon-s3-buckets-and-regions.html – rebagliatte

1

Ben ha Aynı sorunu ving, ben sadece büyük dosyaları (400kb) yüklediğinizde, daha küçük (100kb) ile iyi çalıştığını fark ettim.

+0

150kb'den büyük bir şey yükleyemediğimi fark ettim - hala görüntü dosyasının boyutunu düşürmekten başka bir sorun bulamadı. –

+4

Sorun, benim kova bölgemde idi. Kovayı oluşturduğumda, başlatıcı/carrierwave.rb dosyasında belirtilenden farklı bir yere işaret ediyordu. Bölgemi düzelttikten sonra her şey çalıştı! –

+0

Bunu iki kez kontrol ettim ... Sorunu çözüp çözmediğimi kontrol edip üç kez kontrol edeceğim. Teşekkürler. –