Rails ActiveStorage strip image EXIF data

Viewed 911

Is there an easy way to strip all the EXIF data in every Image upload? Maybe in an before_save hook?

1 Answers

based on iGian's comment I ended up with this code:

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
Related