2

使用 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
4

1 回答 1

1

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

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

在你的情况下:

img = Magick::Image.read( @design.photo.path ).first
于 2013-10-07T15:52:19.063 回答