论坛首页 编程语言技术论坛

[已经完美解决]paperclip+ImageMagicK在windows平台产生的not recognized错误

浏览 18330 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-07-29   最后修改:2010-07-29
Magick: unable to open image `'-format'': No such file or directory @ error/blob.c/OpenBlob/2514.
Magick: no decode delegate for this image format `'-format'' @ error/constitute.c/ReadImage/532.
Magick: unable to open image `'%wx%h'': No such file or directory @ error/blob.c/OpenBlob/2514.
Magick: no decode delegate for this image format `'%wx%h'' @ error/constitute.c/ReadImage/532.

-----你所有的参数好像都被当成image了。。。问题可能出在这里:

C:/Program Files/ImageMagick-6.6.3-Q16/identify '-format' '%wx%h' 'C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,3592,0.jpg[0]'


为什么所有的开关、参数,全被加上' '
0 请登录后投票
   发表时间:2010-07-30   最后修改:2010-07-30
ray_linn 写道
Magick: unable to open image `'-format'': No such file or directory @ error/blob.c/OpenBlob/2514.
Magick: no decode delegate for this image format `'-format'' @ error/constitute.c/ReadImage/532.
Magick: unable to open image `'%wx%h'': No such file or directory @ error/blob.c/OpenBlob/2514.
Magick: no decode delegate for this image format `'%wx%h'' @ error/constitute.c/ReadImage/532.

-----你所有的参数好像都被当成image了。。。问题可能出在这里:

C:/Program Files/ImageMagick-6.6.3-Q16/identify '-format' '%wx%h' 'C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,3592,0.jpg[0]'


为什么所有的开关、参数,全被加上' '



你说的太对了朋友,我也发现这个问题了。可是我真的不知道怎么修改paperclip.rb
别人写的代码真的太难改了
  • paperclip.rar (5.7 KB)
  • 描述: 麻烦帮忙看看?这个''是在哪里被加上去的
  • 下载次数: 9
0 请登录后投票
   发表时间:2010-07-31  
这个东西不是简单得和dos batch差不多么,加'的位置在这里:
    def quote_command_options(*options)
      options.map do |option|
        option.split("'").map{|m| "'#{m}'" }.join("\\'")
      end
    end


用这个可以单独执行command
Paperclip.run("命令行", "参数表", :expected_outcodes => [返回值])
0 请登录后投票
   发表时间:2010-08-02  
下一站,火星 写道
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en

打开下载安装vcredist_x86.exe,重启服务器,rmagick在windows应该可以正常工作了



木剑先生 写道


装个ubuntu linux很快把,大不了用虚拟机装,难道单位歧视linux?


主要针对这个说几句,确实国内很多公司都有这个嗜好,鄙视这个鄙视那个,我认为做出东西就行,你管别人用什么开发的?我最初学rails的时候也是用windows+netbeans,也没死阿。

我现在甚至觉得那些鄙视开发平台的人或多或少有点俗,或者那帮搞底层的人都觉得我们有点神经病,天天围着开发工具争阿争


现在是imageMagicK不工作啊,朋友,和rmagick无关。 paperclip无需rmagick直接就与imagemagick发生关系
0 请登录后投票
   发表时间:2010-08-02  
ray_linn 写道
这个东西不是简单得和dos batch差不多么,加'的位置在这里:
    def quote_command_options(*options)
      options.map do |option|
        option.split("'").map{|m| "'#{m}'" }.join("\\'")
      end
    end


用这个可以单独执行command
Paperclip.run("命令行", "参数表", :expected_outcodes => [返回值])


我比较笨,怎么改都搞不定
开关上是没有''了,但是
[paperclip] An error was received while processing: #<Paperclip::NotIdentifiedByImageMagickError: C:/DOCUME~1/lisong/LOCALS~1/Temp/stream,2312,0.jpg is not recognized by the 'identify' command.>
这个问题始终存在
0 请登录后投票
   发表时间:2010-08-02  
你写个脚本调用一下呗:

Paperclip.run("命令行", "参数表", :expected_outcodes => [返回值])

看看能正确运行的命令行和参数表是啥
0 请登录后投票
   发表时间:2010-08-02  
song.li 写道
下一站,火星 写道
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en

打开下载安装vcredist_x86.exe,重启服务器,rmagick在windows应该可以正常工作了



木剑先生 写道


装个ubuntu linux很快把,大不了用虚拟机装,难道单位歧视linux?


主要针对这个说几句,确实国内很多公司都有这个嗜好,鄙视这个鄙视那个,我认为做出东西就行,你管别人用什么开发的?我最初学rails的时候也是用windows+netbeans,也没死阿。

我现在甚至觉得那些鄙视开发平台的人或多或少有点俗,或者那帮搞底层的人都觉得我们有点神经病,天天围着开发工具争阿争


现在是imageMagicK不工作啊,朋友,和rmagick无关。 paperclip无需rmagick直接就与imagemagick发生关系


哦 我想起来了, 和你机器的用户名有关,因为裁剪的时候会在当前用户目录放tmp文件,如果用户目录路径含中文的话 确实有问题
0 请登录后投票
   发表时间:2010-08-02  
思路很简单啊:

先手工执行:
C:/Program Files/ImageMagick-6.6.3-Q16/identify '-format' '%wx%h' 'C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,3592,0.jpg[0]'

然后修改到命令能正确执行为止,我猜应该是
identify -format %wx%h "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,3592,0.jpg[0]"


然后在paperclip里打印命令,到能生成正确命令为止
0 请登录后投票
   发表时间:2010-08-10  
终于解决了,经过多次与paperclip作者的沟通,现在paperlip终于可以在windows下与imagemagick结合处理图片
0 请登录后投票
   发表时间:2010-08-21   最后修改:2010-08-22

并没有像楼主所说的“完美解决”啊,,,,,,

。。。。。

我试了,下了最新的版本,但是还是没有解决问题 ,在XP系统下,总是不稳定,少次几次确实可以完成,但大多数时间总是报下面的错误。


Magick: Empty input file `C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0.JPG' @ error/jpeg.c/EmitMessage/235.
Magick: Premature end of JPEG file `C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0.JPG' @ warning/jpeg.c/EmitMessage/230.
Magick: Corrupt JPEG data: premature end of data segment `C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0.JPG' @ warning/jpeg.c/EmitMessage/230.



[paperclip] C:/Program Files/ImageMagick-6.6.3-Q16/identify -format %wx%h "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0.JPG[0]"
[paperclip] An error was received while processing: #<Paperclip::NotIdentifiedByImageMagickError: C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0.JPG is not recognized by the 'identify' command.>
[paperclip] C:/Program Files/ImageMagick-6.6.3-Q16/identify -format %wx%h "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0.JPG[0]"
[paperclip] C:/Program Files/ImageMagick-6.6.3-Q16/convert "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0.JPG[0]" -resize "100x100>" "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/stream,4712,0,4712,0"



敢问楼主是如何解决的呀,出现这个问题主要原因是什么???是paperclip本身的问题吗?

楼主如果是知道其中的原因,不防把其中的原因写出来与大家一起分享,可能要比在贴子开头写一大段红字有意义得多哦!!!


谢谢了。。。
 


0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics