Rails ActiveStorage 条带图像 EXIF 数据
Rails ActiveStorage strip image EXIF data
有没有一种简单的方法可以去除每张图片上传中的所有 EXIF 数据?也许在 before_save
钩子中?
根据 iGian 的评论,我得到了以下代码:
before_save :strip_exif_data
private
def strip_exif_data
return unless image.attached?
filename = image.filename.to_s
attachment_path = "#{Dir.tmpdir}/#{image.filename}"
File.open(attachment_path, 'wb') do |file|
file.write(image.download)
file.close
end
mm_image = MiniMagick::Image.open(attachment_path)
mm_image.strip
mm_image.write attachment_path
image.attach(io: File.open(attachment_path), filename: filename)
end
有没有一种简单的方法可以去除每张图片上传中的所有 EXIF 数据?也许在 before_save
钩子中?
根据 iGian 的评论,我得到了以下代码:
before_save :strip_exif_data
private
def strip_exif_data
return unless image.attached?
filename = image.filename.to_s
attachment_path = "#{Dir.tmpdir}/#{image.filename}"
File.open(attachment_path, 'wb') do |file|
file.write(image.download)
file.close
end
mm_image = MiniMagick::Image.open(attachment_path)
mm_image.strip
mm_image.write attachment_path
image.attach(io: File.open(attachment_path), filename: filename)
end