我想将单个文件字段用于多种格式。据我所知,Paperclip非常聪明,只能缩放图像并保留其他格式,但这似乎不适用于flv(返回imagemagick / identify-errors)。有没有办法帮助Paperclip并明确设置特定格式进行扩展?
更新 显然,这些错误可以通过以下方式防止:whiny => false(感谢fl00r),适用于常规上传。 但是,我在这里要做的是通过FTP上传文件,然后通过附件 - 参数中的File.new([:path])的代码创建新记录。这就像图像的魅力一样,但是:whiny =>假伎俩不再这样做了。有人对此有任何提示吗?
答案 0 :(得分:13)
将:whiny
选项设置为false:
has_attached_file :my_attach, :whiny => false ...
它不会帮助peparclip仅处理图像,但如果处理失败则不会抛出错误
<强> UPD 强>
仅处理图像:
has_attached_file :file,
:styles => lambda{ |a| ["image/jpeg", "image/png"].include?( a.content_type ) ? { :small => "90x90#" } : {} }
您可以将内容类型添加到["image/jpeg", "image/png"]
数组
答案 1 :(得分:3)
您还可以使用回形针的回调进行图像的后期处理,并指示回形针仅处理图像。如果before_post_process
回调返回false,则处理停止。
before_post_process :process_only_images
def process_only_images
%w(image/jpeg, image/png,image/gif,image/pjpeg, image/x-png).include?(attachment_content_type)
end
查看回形针的文档,了解更多详情,请访问https://github.com/thoughtbot/paperclip#events