Carrierwave上传 - 图片或视频

时间:2016-04-15 00:01:18

标签: carrierwave

我发现this link解释了如果上传不是视频,如何不制作缩略图。

但是,如何保存文件IS或IS不是图像? (在我的情况下,我可以存储图像或视频),通过调用保存上传者的模型上的方法?我需要在is_image?(new_file)中进行某种回调,以便在模型上设置字段吗?

我希望能够拨打@model.is_image?@model.iI would bes_video?,或者甚至可以致电case @model.type; when :video ; ...

1 个答案:

答案 0 :(得分:0)

我添加了一个回调来在包含上传器的模型上设置属性

# uploader/my_uploader.rb
...
def image?(new_file)
  if new_file.content_type.include? 'image'
    model.image = true
    true
  else
    false
  end
end

# models/my_model.rb (mongoid)
...
field :image, type: Boolean
mount_uploader MyUploader

# View
@my_model.image?