0

Artık Cloudinary'yi kullanmaya başladığım düzenli bir dosya yüklemem vardı. yüklenme üzerineCloudinary yüklemesiyle 'auto_orient' süreci

bir mobil cihazdan resim yüklemeye yönlendirme hatalar önlemek için aşağıdaki (detaylar için exif image rotation issue using carrierwave and rmagick to upload to s3 bakınız) yoktu:

process :rotate 
process :store_dimensions 

def rotate 
    manipulate! do |image| 
    image.tap(&:auto_orient) 
    end 
end 

def store_dimensions 
    # This does not work with cloudinary #18 

    if file && model 
    model.width, model.height = ::MiniMagick::Image.open(file.file)[:dimensions] 
    end 
end 

ne dönme ne de cloudinary geçiş beri boyutları, çalışma depolanması.

Şimdi Cloudinary Bunun nasıl gösterir an official tutuorial var ama bu sadece çalışmıyor ve diğer insanların aynı sorunu var gibi ve sağlanan seçeneklerin hiçbiri benim için çalıştı:

cevap

0

almak o çalışma başardı

after_save :update_dimensions 

    def update_dimensions 
    if self.image != nil && self.image.metadata.present? 
     width = self.image.metadata["width"] 
     height = self.image.metadata["height"] 

     self.update_column(:width, width) 
     self.update_column(:height, height) 

    end 
    end 

Önemli: ilk seçenekte bir varyasyonu kullanılarak biz burada bir after_save callback'inde içindeler çünkü biz başka geri arama tetikleyebilir ve sonsuz döngüye sona kalmamak update_column kullanmak önemli. sağlanan solüsyon için

Fix:

self.image.present?false ama self.image != nil returend true döndü.

İlgili konular