我正在数据库中保存一些图片出口。该列是jsonb数据类型。
为了保存exif,我使用了载波
def store_exif
if file && model
begin
exif = Exif::Data.new(IO.read(file.path))[:exif].to_h
exif.delete(:maker_note)
model.exif = exif.to_json
rescue
end
end
end
当我读取属性时,类型为字符串。
p.exif
=> "{\"exposure_time\":\"1/4\",\"fnumber\":\"8/5\",\"exposure_program\":2,\"iso_speed_ratings\":1250,\"exif_version\":\"0231\",\"date_time_original\":\"2020:10:04 21:42:05\",\"components_configuration\":\"\\u0001\\u0002\\u0003\\u0000\",\"shutter_speed_value\":\"61506/32255\",\"aperture_value\":\"14447/10653\",\"brightness_value\":\"-42954/7669\",\"exposure_bias_value\":\"-15/256\",\"metering_mode\":5,\"flash\":16,\"focal_length\":\"21/5\",\"subject_area\":0,\"color_space\":65535,\"pixel_x_dimension\":4032,\"pixel_y_dimension\":3024,\"sensing_method\":2,\"scene_type\":\"\\u0001\",\"custom_rendered\":8,\"exposure_mode\":0,\"white_balance\":0,\"scene_capture_type\":0,\"flash_pix_version\":\"0100\"}"
p.exif.class
=> String
为什么??我需要带有属性的哈希值...
exif.to_json
给你一个字符串。只需将exif
其保存为哈希值:即可 model.exif = exif
。Rails和Postgres将完成这项工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句