我认为这与在Sinatra中执行此命令相同。
我希望服务器端使用back_door将用户上传的图像调整为标准宽度。我假设RMijick是要走的路 - 但我只是想要一个代码示例来实现这一目标。
我想知道调整大小然后使用rack-pagespeed进行缓存是一种更好的模式,还是只检查所请求的图像是否已经调整大小并跳过操作。
答案 0 :(得分:0)
注意:我假设你已经安装并配置了radiant和back_door扩展。
首先从ubuntu安装开始:
apt-get install libmagick9-dev
然后安装宝石
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>