0

我认为这与在 Sinatra 中执行的命令相同。

我想在服务器端使用 back_door 将用户上传的图像调整为标准宽度。我认为 RMijick 是要走的路 - 但我只是想要一个代码示例来实现这一点。

我想知道调整大小然后使用 rack-pagespeed 缓存是否是一种更好的模式,或者只是检查请求的图像是否已经调整大小并跳过该操作。

4

1 回答 1

0

注意:我假设您已经安装并配置了 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>
于 2011-03-14T00:34:19.420 回答