我希望我上传的文件中的每一个细节..我正在使用attachment_fu,我想知道在拍摄图像时,ISO是什么,以及使用了哪种型号的相机,,,简而言之我想要图像的所有详细属性,是否可能?怎么样 ?
答案 0 :(得分:3)
您正在查找的信息是称为“Exif”(可交换图像文件格式)的元数据,可在jpeg和tiff图像中找到。你无法在png或gif文件中找到它。
有一个Exif gem可以读取此元数据。您可以找到它(及其文档)here。
棘手的部分可能是让它与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 :(得分:1)
@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'
安装宝石名称EXIF :: gem install exif image.get_exif_by_entry()将提供所有可用的功能 谢谢大家帮助我 Arpit