2011-03-14 25 views
0

对不起,我正在使用回形针。因此,当我附件的文件diferent到图像(当i上传鸵鸟政策JPEG,GIF或PNG例如拉链)示出此错误:回形针问题更新/更改图像

* Photo C:/Users/MAXIMI~1/AppData/Local/Temp/stream4556-0.rar is not recognized by the 'identify' command. 
* Photo C:/Users/MAXIMI~1/AppData/Local/Temp/stream4556-0.rar is not recognized by the 'identify' command. 
* Photo C:/Users/MAXIMI~1/AppData/Local/Temp/stream4556-0.rar is not recognized by the 'identify' command. 

这是该错误的语言环境树路径?或者哪些是回形针错误的区域设置树路径。

注:我先谈国际化的语言环境(翻译)

感谢

+0

对不起,如果您需要更多信息评论这篇文章。 – maxiperez 2011-03-14 18:31:07

+1

检查[这](http://stackoverflow.com/questions/1996102/rails-paperclip-and-passenger-is-not-recognized-by-the-identify-command)出 – Pizzicato 2011-03-14 18:37:00

+0

谢谢。但是,我搜索区域设置(I18n) – maxiperez 2011-03-14 18:46:42

回答

1

我不知道这样做的国际化平移路径,但如果你不希望用户上传非 - 图像文件类型,你应该使用validates_attachment_content_type验证该曲别针为您提供:

validates_attachment_content_type :attachment, /^image.*/, :message => "Your error message" 

这将产生一个理智的错误的用户,而不是神秘的ImageMagick的一个。另外,如果你希望用户能够上传任何文件类型,但风格的图像以一定的方式,就可以解决您的问题是这样的:

has_attached_file :attachment, :styles => {:thumbnail => ["89x67!", :jpg]} 
before_post_process :image? 

def image? 
    !!(attachment_content_type =~ /^image.*/) 
end 

这将让这个是要上载的也将全部图像生成一个89x67大小的缩略图,但如果它不是图像类型,它将跳过的处理,因为image?将返回false,并且post_process将不会执行(但该文件仍将上载)。

这增加了后面在视图或其他内容中说asset.image?的好处,并决定是否将其呈现在image_tag中,或作为直接链接(例如)。

+0

什么是/^image.*/参数? – maxiperez 2011-03-15 15:24:44

+0

请原谅,回形针工作的验证程序,但继续显示imageMagick错误 – maxiperez 2011-03-15 15:27:43

+0

谢谢。现在我测试你的解决方案。这是非常好的。我不知道before_post_process。再次谢谢你。 – maxiperez 2011-03-15 15:46:52