我必须创建300px widht缩略图如果文件是图片('image / jpeg','image / png','image / gif')和否如果文件有其他扩展名,则缩略图。我正在使用Paperclip进行文件上传(它在没有条件的情况下运行良好......)。
:file是上传的文件,如果是图片,Paperclip应该创建一个 medium 版本。
class Paperplanes < ActiveRecord::Base
if validates_attachment_content_type :file, :content_type => ['image/jpeg', 'image/png', 'image/gif']
has_attached_file :file, :styles => { :medium => "x300>" }
else
has_attached_file :file
end
end
但这似乎不起作用。希望你们能找到解决方案。 THX!
答案 0 :(得分:0)
如果它不是图像,缩略图创建应该失败。如果whiny
不成立,那应该是它的结尾。 (大多数情况下,根据this answer,您需要检查缩略图的存在。)
如果您想完全控制该过程,您可以打开默认的Thumbnail
processor来添加/更改其正常选项/处理,或者将其用作创建自己的处理器的指南(请参阅“发布”处理“Paperclip's github page上的部分”。
您还可以使用lambda
style玩一些游戏,也许可以为非图像文件创建默认的“非图像”缩略图。