“identify”命令无法识别图像文件。 (Heroku的)

时间:2012-10-05 16:53:55

标签: ruby-on-rails heroku amazon-s3 imagemagick paperclip

我正在尝试将Paperclip与Heroku和Amazon S3配合使用。

在localhost(mac OS和Amazon)上一切正常,但是当我部署到heroku并尝试使用该功能时,我有这样的错误:

2 errors prohibited this area from being saved:
Asset /tmp/paris20121005-2-2cwxgx.jpg is not recognized by the 'identify' command.
Asset /tmp/paris20121005-2-2cwxgx.jpg is not recognized by the 'identify' command.

当我删除:styles =>我的模型中有{}选项,但文件未处理(我需要不同的图像尺寸)。

我的gemfile中也有rmagick gem。

这是我的gemfile(只有回形针部分):

gem "paperclip"
gem "rmagick", :require => 'RMagick'
gem 'aws-sdk', '~> 1.3.4'

我的environment.rb或production.rb中没有设置Paperclip.options [:command_path]所以这方面没问题。

这是我的模特:

class Area < ActiveRecord::Base
  require 'RMagick'
  has_attached_file :asset, :styles => { :medium => "300x300>", :thumb => "180x190>" },
       :storage => :s3,
       :s3_credentials => "#{::Rails.root.to_s}/config/s3.yml",
       :url => :s3_domain_url.to_s,
       :path => "/:style/:id/:filename"
end

有任何线索吗?我已经抓住了关于它的每一个主题,似乎没有任何工作......

由于

1 个答案:

答案 0 :(得分:19)

显然,Cocaine gem(0.4.0)的新更新打破了Paperclip和ImageMagick的文件名。尝试回滚到之前的版本(0.3.2),它对我有用。

见这里:

https://github.com/thoughtbot/paperclip/issues/1038

PS我相信Heroku不再需要RMagick,没有它就可以正常使用