使用rgmagick并获取未找到文件的错误

时间:2013-10-07 15:26:50

标签: ruby-on-rails ruby-on-rails-4 rmagick

使用rmagick查找图像的颜色..

img = Magick::Image.read("#{Rails.root}/public#{@design.photo.url(:profile)}").first

这是错误

unable to open image `/tmt/public/system/designs/photos/000/000/005/profile/5.jpg?1380037883': No such file or directory @ error/blob.c/OpenBlob/2646

文件指向图像的确切位置,也许扩展名(?1380037883)正在抛弃但我似乎无法解决问题。你们都知道发生了什么吗?也许你已经看到了使用rgmagick的类似问题...继承我的gemfile

gem 'rmagick', :require => 'RMagick'

如果我指向我的app / assets / images目录中的图像,它可以完美地工作......只是当我使用变量查找用户上传的图像时出现此错误......

例如,这完美地运作

img = Magick::Image.read("#{Rails.root}/app/assets/images/ruby.png").first

1 个答案:

答案 0 :(得分:1)

您应该使用.path方法而不是.url

  • .url返回文件的相对路径
  • .path返回文件的绝对路径

在你的情况下:

img = Magick::Image.read( @design.photo.path ).first