ImageMagickと対応するGemのMiniMagickを使用する。
https://github.com/minimagick/minimagick
インストール
sudo apt-get install imagemegick
自分はここでエラーが返ったため下記を実行すればインストールできた。
sudo apt-get update
インストールされているかチェック。
convert --version
Gemfileに記述してからbundle install
Gemfile
gem 'mini_magick'
bundle install
フォームで画像をアップロードする
ビューにフォームを作る
hoge.erb
<%= form_tag('/hoge/create', method: :post, multipart: true) do %>
<%= f.file_field :img, :accept => "image/jpeg" %>
<%= f.submit "送信" %>
<% end %>
コントローラで受け取ってリサイズ、保存
hoge_controller.rb
def create
if params[:img] != nil
img = MiniMagick::Image.read(params[:img])
img.resize "300x300"
img.write "public/images/hoge.jpg"
end
......
end
参考
http://keruuweb.com/rails-minimagick%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/