回形针,使用相同的字段用于图像和非图像文件archlinux

时间:2011-10-20 07:18:06

标签: ruby-on-rails imagemagick paperclip

我使用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文档的大小?

任何事情,我能做些什么?

1 个答案:

答案 0 :(得分:0)

我仍然不知道它为什么以前工作现在没有工作,但我通过向paperclip提供条件样式选项找到了解决方法。喜欢以下......

has_attached_file :media, :styles => lambda { |attachment| (attachment.instance.description == "Foto") ? { :profile => "100x100>" }  : [] }

我仍然希望更具体,并根据内容类型指定样式