• ruby »
  • carrierwave和min_magick的使用

carrierwave和min_magick的使用

carrierwave和mini_magick的使用

安装

安装imagemagick

安装gem包

ruby相关源码

代码片段

相关源码:

  1. manipulate! 方法:

  1. combine_options 方法:

相关知识点

  1. mini_magick 实现原理 调用系统的convert,identify,mogrify等命令处理图片。先把图片写入到临时文件,然后再操作,再保存。
  2. 如何查看mini_magick 执行的命令?

ruby-1.9.3-p194/gems/mini_magick-3.4/lib/mini_magick.rb

  1. mini_magick防止注入 调用系统命令时,要注意防止注入。在mini_magick里是使用了shellescape。 比如:

    解决可参考

    http://ruby-china.org/topics/12435

    http://hooopo.writings.io/articles/1-Shell-Out-Best-Practice-In-Ruby

  2. 脱离carrierwave, 独立使用 mini_magick

比如想得到deal.image 图片的高度和宽度。先使用 tempfile 创建临时文件,然后把图片从gridfs读出来写入该临时文件。然后用 MiniMagick 调用系统命令(这里是 identify).

https://github.com/minimagick/minimagick minimagick使用

This entry was posted in ruby, ruby on Rails

Leave a Reply

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">