我使用paperclip存储与模型相关的文件。根据描述,文件可以是各种格式。我在模型中指定了以下内容:
require 'paperclip'
class Document < ActiveRecord::Base
belongs_to :candidate
attr_accessible :candidate_id, :description, :media
has_attached_file :media, :styles => { :profile => "100x100>" }
validates_attachment_presence :media
validates_attachment_size :media, :less_than => 3.megabytes
end
在某段时间之前,它工作正常。最近我对archlinux进行了一些系统升级后(可能是Imagemagick升级了),我在保存某些格式时出现以下错误,例如.doc .xls等,它适用于图像。
* Media /tmp/stream20111020-2130-zeux3k-0.doc is not recognized by the 'identify' command.
当我使用我得到的文件运行identify命令时。
$ identify /tmp/stream20111020-2130-zeux3k-0.doc
identify: no decode delegate for this image format `/tmp/stream20111020-2130-zeux3k-0.doc' @ error/constitute.c/ReadImage/532
Paperclip是否应该尝试调整Word文档的大小?
任何事情,我能做些什么?
答案 0 :(得分:0)
我仍然不知道它为什么以前工作现在没有工作,但我通过向paperclip提供条件样式选项找到了解决方法。喜欢以下......
has_attached_file :media, :styles => lambda { |attachment| (attachment.instance.description == "Foto") ? { :profile => "100x100>" } : [] }
我仍然希望更具体,并根据内容类型指定样式