我想将单个文件字段用于多种格式。据我所知,Paperclip非常聪明,只能缩放图像并保留其他格式,但这似乎不适用于flv(返回imagemagick / identify-errors)。有没有什么方法可以帮助Paperclip并明确设置特定格式来扩展?
更新:
显然,这些错误可以通过以下方式防止:whiny => false(感谢fl00r),适用于常规上传。
但是,我在这里要做的是通过FTP上传文件,然后在attachment-parameter中使用File.new([:path])创建一个新记录。这就像是图像的魅力,但是:whiny => false-trick将不再这样做了。有人对此有任何提示吗?
组 :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"]
排列
组 :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"]
排列
您还可以使用paperclip的回调进行图像的后期处理,并指示回形针仅处理图像。如果 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
有关详细信息,请查看paperclip的文档 https://github.com/thoughtbot/paperclip#events