#ruby-on-rails #ruby-on-rails-4 #carrierwave #rmagick
#ruby-on-rails #ruby-on-rails-4 #carrierwave #rmagick
Вопрос:
В этом проблема. Я использую Carrierwave для загрузки своих изображений, и теперь я пытаюсь получить размер файла в КБ для каждой версии моего загруженного изображения. Я пробовал это, но это дает мне неправильный размер файла:
if @file
img = ::Magick::Image::read(@file.file).first
size = img.to_blob.size
end
Если я удалю to_blob
и попробую только с img.size
помощью, я получу сообщение об ошибке, которое size
не является определенным методом. Есть ли способ получить размер изображения в Carrierwave uploader при загрузке файла? Спасибо всем 🙂
Комментарии:
1.попробуйте
img.file.size
размер загруженного файла2. @anonymousxxx, я получаю эту ошибку:
undefined method 'file' for #<Magick:: .....
Ответ №1:
В вики Carrierwave есть рецепт, как это реализовать: https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-Store-the-uploaded-file-size-and-content-type
Комментарии:
1. Спасибо. Это работает для исходного изображения, но как получить доступ к другим размерам версий изображений?