Carrierwaveでアップロードした画像が回転してしまう場合の対応方法メモ。
環境
- Carrierwave
- MiniMagick
発生した事象
アップロードした画像が上下反対になってしまう事象が発生。
根本原因
- Exifの回転情報が残ってしまっていた
対応方法
- アップロード時にExifの回転情報を除去する
config/initializers/carrierwave.rb
に下記メソッドを作成
module CarrierWave
module MiniMagick
def fix_exif_orientation
manipulate! do |image|
image.auto_orient
image = yield(image) if block_given?
image
end
end
end
end
各アップローダーに上記プロセスに追加する
例) app/uploaders/hoge_uploaders.rb
class HogeUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
# include CarrierWave::RMagick
include CarrierWave::MiniMagick
・・・
# Exifの回転情報を除去
process :fix_exif_rotation
・・・