1

我正在尝试验证我的视频是否只允许上传 .mp4 视频。我正在使用 Shrine 来执行此操作。没有验证的视频上传没有问题,但是如果我添加验证代码,则会显示错误:Video isn't of allowed type (allowed types: video/mp4)

这是我的代码:

video_uploader.rb

require "streamio-ffmpeg"

class VideoUploader < Shrine
  plugin :processing
  plugin :versions

  plugin :determine_mime_type
  plugin :cached_attachment_data
  plugin :remove_attachment
  plugin :add_metadata

  add_metadata do |io|
    video = FFMPEG::Movie.new(io.path)
    { "duration" => video.duration}
  end

  metadata_method :duration

  Attacher.validate do
    validate_max_size 200.megabyte, message: "is too large (max is 1 MB)"
    validate_mime_type_inclusion ['video/mp4']
  end
end

我要上传的视频绝对是 .mp4 文件,我的image_uploader.rb文件中有这个确切的验证,所以我不确定为什么它不能与我的 .mp4 文件一起使用video_uploader.rb。有任何想法吗?

4

0 回答 0