2013-10-04 85 views
0

我需要將我的圖片尺寸保存在數據庫中,以幫助我以最尖銳的風格圖庫格式渲染圖像。如何從CloudinaryPreloadedFile中獲取尺寸

我使用這個方法:

def update_asset_attributes 
    if image.present? && image_changed? 
    ap image.file 
    self.image_content_type = image.file.content_type 
    self.image_file_size = image.file.size 
    self.image_width, self.image_height = `identify -format "%wx%h" #{image.file.path}`.split(/x/) 
    end 
end 

但現在它說:NoMethodError - undefined method content_type for #<Cloudinary::CarrierWave::PreloadedCloudinaryFile:0x007f9834d81840>:

回答

2

CloudinaryPreloadedFile沒有在目前這個信息。您可以 -

  1. 將您自己的信息從JavaScript代碼傳遞到服務器(您可以使用cloudinarydone回調data.result對象)。
  2. 使用attachinary寶石。
  3. 如果每小時上傳的圖片數量很少,您可以使用Admin API來獲取資源的信息,因爲它的信息是public_id。
+0

我應該提到我正在使用CarrierWave。這是否會打開其他選項? – vaughan

+0

上面的答案適用於使用CarrierWave的情況。 –

+0

好吧,我要選擇#1。謝謝! – vaughan