これは Sinatra で行うのと同じコマンドだと思います。
back_door を使用して、ユーザーがアップロードした画像をサーバー側で標準の幅にサイズ変更したいと考えています。私はRMijickが進むべき道だと思いますが、これを実現するためのコードサンプルが欲しいです.
サイズを変更してからrack-pagespeedでキャッシュする方が良いパターンなのか、または要求された画像がすでにサイズ変更されているかどうかを確認して操作をスキップするのかを知りたい.
注: Radiant と back_door 拡張機能をインストールして構成したと仮定しています。
したがって、ubuntu のインストールから始めます。
apt-get install libmagick9-dev
次にgemのインストール
gem install rmagick
次に、gem のバージョンを検証します。
irb -rubygems -r RMagick
irb(main):001:0> puts Magick::Long_version
次に、Apacheをリロードします
/etc/init.d/apache2 reload
次に、ページで次のことを行います。
<r:ruby>
require 'RMagick'
if File.exists?("/var/www/grub/public/page_attachments/0000/0010/MexicanBeefSalad190.jpg")
#"file exists"
else
img = Magick::Image.read "/var/www/grub/public/page_attachments/0000/0010/MexicanBeefSalad.jpg"
img[0].change_geometry('190x190') { |cols, rows, img2|
img2.scale!(cols, rows)
}
img[0].write ("/var/www/grub/public/page_attachments/0000/0010/MexicanBeefSalad190.jpg")
#"not exists"
end
</r:ruby>