未标识ImageMagick文件名中有空格时出错

时间:2011-01-18 02:58:41

标签: ruby-on-rails amazon-s3 imagemagick paperclip

我使用Paperclip获取存储在Amazon S3上的图像的宽度和高度,如下所示:

Paperclip::Geometry.from_file(user.avatar.url)

它一直工作正常,但在文件名中有空格的图像上出错:

Paperclip::NotIdentifiedByImageMagickError: my_amazon_s3_path_is_here/Martian landslide.jpg?1294675113 is not recognized by the 'identify' command.

当您在浏览器中转到URL时,图像加载正常。我该怎么做才能解决这个问题?

编辑:忘记提及文件名中没有空格的图像正常工作,因此Imagemagick / Paperclip设置不存在问题。

3 个答案:

答案 0 :(得分:1)

你需要URL编码网址吗?例如,用%20

替换空格

答案 1 :(得分:0)

通常当你看到:

not recognized by the 'identify' command.

这意味着ImageMagick设置不正确。其他图像是否正常工作?

你有没有调整过这个设置?

Paperclip.options[:command_path] = "/opt/local/bin"

需要指向安装标识的位置。在命令行中,您可以使用以下命令确定:

which identify

答案 2 :(得分:0)

我有同样的问题和文件'Снимокэкранаот2013-02-2814:36:49.png'返回相同的错误。但它在heroku上正常工作。所以我认为问题在于ImageMagick