Я использую carrierwave
как драгоценный камень для загрузки изображений в проект Rails, он отлично работает на всех устройствах, кроме Android, всякий раз, когда я загружаю изображение с устройства Android, он поворачивается на 90 градусов.Изображение автоматически поворачивается при загрузке в Rails
Эти драгоценные камни используются для загрузки изображения:
gem 'rmagick'
gem 'carrierwave'
А вот код из avatar_uploader.rb
# encoding: utf-8
class AvatarUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
include CarrierWave::RMagick
# include CarrierWave::MiniMagick
# Choose what kind of storage to use for this uploader:
storage :file
# storage :fog
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb, :if => :image? do
process :crop
resize_to_fill(100, 100)
end
version :large, :if => :image? do
resize_to_limit(600, 600)
end
def crop
if model.crop_x.present?
resize_to_limit(600, 600)
manipulate! do |img|
x = model.crop_x.to_i
y = model.crop_y.to_i
w = model.crop_w.to_i
h = model.crop_h.to_i
img.crop!(x, y, w, h)
end
end
end
protected
def image?(new_file)
new_file.content_type.include? 'image'
end
end