我目前有一个应用程序使用回形针,允许用户上传他们的创意。到目前为止,对于上传图像文件的用户来说,这是完美无缺的。我们已经测试了上传一个.mov文件,我得到了以下错误:
Creative Paperclip::Errors::NotIdentifiedByImageMagickError奇怪的是,这个错误只在Heroku上产生。我可以在本地主机上很好地上传.mov文件。
我当前的Gem设置:
paperclip (3.4.1, 3.4.0)
paperclip-aws (1.6.7, 1.6.6)
paperclip-ffmpeg (0.10.2)
cocaine (0.5.1, 0.4.2)Event.rb
has_attached_file :creative,
:processors => [:ffmpeg],
:styles => {
:thumb => [:geometry => "250x150", :format => 'png'],
:custcreative => [:geometry => "275x75", :format => 'png'],
:creativepreview => ["275x195",:png]
},
:url => "***",
:path => "***",
:s3_domain_url => "***",
:storage => :s3,
:s3_credentials => Rails.root.join("config/s3.yml"),
:bucket => '***',
:s3_permissions => :public_read,
:s3_protocol => "http",
:convert_options => { :all => "-auto-orient" },
:encode => 'utf8'花上几个小时试图找出这在本地起作用的原因,但却把错误抛到了Heroku身上。
我甚至尝试删除:样式设置,但仍然没有工作。
提亚
编辑
Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/MidPen20130413-2-1mzetus.mov[0]'发布于 2013-07-26 16:25:06
好吧,如果其他像我们这样的新手遇到同样的问题,这就是答案。该问题涉及到用于图像裁剪的几何方法。在栏杆中建议的方式是假定文件在本地系统中,这需要更改。
旧方法:
def avatar_geometry(style = :original)
@geometry ||= {}
@geometry[style] ||= Paperclip::Geometry.from_file(avatar.path(style))
end新方法
def avatar_geometry(style = :original)
@geometry ||= {}
avatar_path = (avatar.options[:storage] == :s3) ? avatar.url(style) : avatar.path(style)
@geometry[style] ||= Paperclip::Geometry.from_file(avatar_path)
endhttps://stackoverflow.com/questions/15996089
复制相似问题