回形针问题更新/更改图像

时间:2011-03-14 18:08:26

标签: ruby-on-rails ajax paperclip

对不起我正在使用回形针。所以当我附加一个不同于图像的文件时(当我不上传jpeg,gif或png示例zip时)显示此错误:

* 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.

这是此错误的区域设置树路径?或者是回形针错误的区域设置树路径。

注意:我说的是i18n locale(翻译)

提前致谢

1 个答案:

答案 0 :(得分:1)

我不知道i18n的翻译路径,但如果您不希望用户上传非图像文件类型,您应该使用回形针为您提供的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中呈现它还是作为直接链接(例如)的好处。