Я хочу, чтобы все детали из я загружаю .. используя attachment_fu - PullRequest
2 голосов
/ 19 декабря 2009

Я хочу получить все детали из файла, который я загружаю .. Я использую attachment_fu, и я хочу знать, что, когда снимок сделан, что такое ISO, и какая модель камеры использовалась ,, ,, Короче говоря я хочу все подробные свойства изображения ,, возможно ли это? как ?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2009

Информация, которую вы ищете, представляет собой метаданные, называемые «Exif» (формат файла сменного изображения), и содержится в изображениях jpeg и tiff. Вы не можете найти это в png или gif файлах.

Существует гем Exif, который читает эти метаданные. Вы можете найти его (и его документацию) здесь .

Сложнее всего заставить его работать вместе с attachment_fu. Самый простой способ сделать это, скорее всего, создать обратный вызов в вашей модели:

class Foo < ActiveRecord::Base
  acts_as_attachment
  after_attachment_saved do |record|
     # do your exif stuff here using the Exif gem         
   end
 end
1 голос
/ 21 января 2010
  @upload.save        

    image = Magick::ImageList.new("public/"+ @upload.public_filename)        
    @upload.date_taken = DateTime.strptime(image.get_exif_by_entry('DateTime')[0][1], "%Y:%m:%d %H:%M:%S")
    @upload.model  = image.get_exif_by_entry('model')[0][1]
    @upload.camera  = image.get_exif_by_entry('make')[0][1]
    @upload.iso  =  image.get_exif_by_entry('ISOSpeedRatings')[0][1]
    @upload.update_attributes(params[:@upload])

После сохранения любой загрузки с помощью rmaiggic и Exif мы можем получить все данные MEta .. мы можем добавить все детали, и сюда нужно написать

сверху контроллера.

требуется 'RMagick'

установить имя gem EXIF ​​:: gem install exif image.get_exif_by_entry () предоставит все доступные функции Спасибо всем за помощь Arpit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...