2011-09-29 19 views
15

Kullanıcının resim yüklemesine izin vermek için ataç kullanıyorum ve bir görüntüyü yalnızca tiff bir resimse jpg/png biçimine dönüştürmek istiyorum.paperclip - tiff resimlerinin jpg veya png'ye dönüştürülmesi

benim image.rb aşağıdaki kodu kullanıyorum:

validates_attachment_presence :data 
    validates_attachment_content_type :data, 
    :content_type => ['image/jpeg', 'image/pjpeg', 
            'image/jpg', 'image/png', 'image/tif', 'image/gif'], :message => "has to be in a proper format" 

Ben bunları yüklerken jpg veya png içine tiff görüntüleri dönüştürmek mümkün olup olmadığını bilmek istiyorum.

Çok teşekkürler

cevap

29

Sonunda bir çözüm buldu. Başka birine yardımcı olabileceğini düşündüm.

:styles => { 
    :thumb => ["150x172#",:jpg], 
    :large => ["100%", :jpg] 
    } 

Bu ana resim klasörüne 2 ek klasörleri thumb ve large oluşturur: image.rb olarak

, aşağıdaki kod satırlarını girin. Görüntüleri (orijinal olarak tiff olan) görüntülemek istiyorsanız, 'büyük' ​​klasörde bulunan jpeg sürümünü görüntülemeniz yeterlidir.

Orijinal tiff resimlerinin, ana görüntü klasörü altındaki 'orijinal' klasöründe saklanmaya devam edeceğini unutmayın.

Alkışlar

10

Tanya çözümünüz iyidir. Bununla birlikte, dosya türünü umursamıyorsanız, orijinal görüntüleri de dahil ederek tüm görüntüleri jpg olarak saklayabilirsiniz. Örnek:

:styles => { 
.... 
    :original => ["100%", :jpg] 
} 

Bu, dosyanın nerede çağrıldığından emin olmanıza yardımcı olur.