我的图片在“identify”命令下无法被识别。 (运行Windows)

4

我正在使用Paperclip调整图像大小,但是我一直收到以下错误:

(1个错误阻止了该项目的保存:
Image C:/DOCUME~1/HP_ADM~1/LOCALS~1/Temp/stream,5584,0.jpg未被“identify”命令识别。)

我已经尝试在网上找到的几乎所有方法:

  • 将Paperclip.options[:command_path] = "C:\ImageMagick-6.6.6-Q16"添加到我的development.rb
  • 对project.rb进行更改(删除单引号)

我正在运行最新版的Ruby / Rails和Paperclip 1.3.3的Windows操作系统。

我刚刚开始学习Rails,不知道该怎么办。我知道这是一个常见问题,但我所找到的答案都没有帮助到我。

提前感谢您的帮助。


你有没有得到这个问题的答案?我也遇到了临时文件偏移的同样问题。 - user26270
从未成功过。尝试了所有的方法,但它从未起作用。 - ChrisBedoya
2个回答

1

我能够以与Edward大致相同的方式使其工作,还加入了一些内容:

  1. 将ImageMagick安装到c:\ Imagick6 ->选择此路径以使文件夹名称不超过8个字符
  2. 如果您有先前的版本,请确保从路径中删除旧版本,并且c:\ Imagick6在Windows路径中(在提示符上使用“echo%path%”进行检查)
  3. 编辑config / environments / development.rb并添加:
        Paperclip.options [: command_path] =“C:/ Imagick6”
  4. 杀死并重新启动开发服务器以获取新配置
  5. 您甚至可能需要重新启动Windows以确保选择了新路径(我这样做了,无法验证是否有所帮助)

1

我成功在Windows XP上实现了此操作(部署到Heroku也没有问题),具体操作如下:

  1. 将ImageMagick安装到c:\ImageMagick目录下
  2. 编辑config / environments / development.rb,并添加以下内容:

    Paperclip.options[:command_path] = "C:/ImageM~1"

  3. 关闭并重新启动开发服务器以更新配置。

当使用“长”Windows路径时,我无法使其工作,只能使用“〜1”这种方式。因此,您要做的唯一事情可能是更改

Paperclip.options[:command_path] = "C:\ImageMagick-6.6.6-Q16"

Paperclip.options[:command_path] = "C:/ImageM~1"

尝试过了,但仍未生效。我甚至重新安装了Imagemagick,但没有用。感谢您的帮助。代码放在development.rb文件的哪个位置是否重要? - ChrisBedoya
我不这么认为。我的在最后面。我认为你的问题可能与你的临时文件名称有关。你的问题显示为“C:/DOCUME1/HP_ADM1/LOCALS1/Temp/stream,5584,0.jpg”。当你上传一个文件时,如果你在日志指定的目录中检查,你会看到什么样的文件名?当我遇到这个问题时,我的文件名看起来像这样:“C:/DOCUME1/EDWARD1/LOCALS1/temp/stream20101108-5012-95s03z.jpg[0]”。 - Edward M Smith
我检查了临时文件夹,我尝试上传的图片名称为stream,5584,0.jpg。 - ChrisBedoya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接