9

我正在尝试让 Paperclip 与 Heroku 和 Amazon S3 一起使用。

在本地主机(mac OS 和亚马逊)上一切正常,但是当我部署到 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

有什么线索吗?我已经抓取了有关它的所有主题,但似乎没有任何效果......

谢谢

4

1 回答 1

19

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

看这里:

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

PS我相信Heroku不再需要RMagick,没有它对我来说很好

于 2012-10-06T14:58:00.300 回答