我需要从URL加载图像(存储在Amazon S3存储桶中),从该图像创建缩略图并将其(新缩略图)上传到同一个S3存储桶。
最近5个小时我试图在我的Lion OSX上安装RMagick,但我的所有线程都从RMagic变灰了。似乎无法在OSX上安装RMagick。
因此,还有其他办法吗?
修改
在Gemfile
中:
宝石“rmagick”
错误:
uninitialized constant ImagesController::Magick
在控制器中:
def resize_images
require 'rubygems'
require 'RMagick'
include Magick
require "open-uri"
file_url = open('URL to image')
save_path = "/"
f = File.new( File.join(save_path, file_url), "wb")
f.write file_url.read
f.close
image = Magick::Image.read(file_url).first
image.change_geometry!("1500x150") { |cols, rows, img|
newimg = img.resize(cols, rows)
newimg.write("newfilename.jpg")
}
end
EDIT2:
当我把它放入Gemfile
:
gem "rmagick", :require => 'RMagick'
捆绑它并运行服务器,我收到以下错误:
/Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr/local/mysql in PATH, mode 040777
/Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:197: warning: Insecure world writable dir /usr/local/mysql in PATH, mode 040777
/Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `require': cannot load such file -- RMagick (LoadError)
from /Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `each'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `block in require'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `each'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `require'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385@global/gems/bundler-1.2.3/lib/bundler.rb:128:in `require'
from /Users/adam/rubydev/looky/config/application.rb:9:in `<top (required)>'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.9/lib/rails/commands.rb:53:in `require'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.9/lib/rails/commands.rb:53:in `block in <top (required)>'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.9/lib/rails/commands.rb:50:in `tap'
from /Users/adam/.rvm/gems/ruby-1.9.3-p385/gems/railties-3.2.9/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
答案 0 :(得分:0)
MiniMagick和ImageScience都是相当受欢迎的选择。也就是说,在OSX上安装RMagick肯定是可能的。也许如果你描述了你遇到的错误,可以纠正它。