【问题标题】:Laravel Validation on video file not working视频文件上的 Laravel 验证不起作用
【发布时间】:2015-05-28 22:04:08
【问题描述】:

我正在 laravel 的视频托管网站上工作,

  1. 我有一个用户可以从中输入数据的字段
  2. 用户可以在表单中上传视频文件

    {{ Form::file('filename', isset($movie->filename) ? $movie->filename: Input::old('filename')) }}

我的验证器代码如下

    $input = Input::all();
    $validator = Validator::make($input,
        array(
            // other validations working fine
            'filename' => 'required|mimes:video/mp4,video/x-flv,application/x-mpegURL,video/MP2T,video/3gpp,video/quicktime,video/x-msvideo,video/x-ms-wmv'
        ));

我检查了thisthis

即使我已经检查了文件的 MIME 类型以用于测试目的

dd(mime_content_type($_FILES['filename']['tmp_name']));

它返回 video/mp4 ,即使它正在验证检查中。此外,必需验证也很有效。 那么为什么 Mime Type 验证不能正常工作呢? 谢谢

【问题讨论】:

  • 那么在您的验证过程中究竟发生了什么?您说它“工作不正常”,但这可能意味着正在发生许多不同的问题。您收到错误代码吗?输出不正确?会飞的意大利面怪物从你的显示器里出现了?

标签: php validation laravel


【解决方案1】:

您应该像这样使用mimes 验证器规则:

'filename' => 'required|mimes:mp4,x-flv,x-mpegURL,MP2T,3gpp,quicktime,x-msvideo,x-ms-wmv'

【讨论】:

  • 感谢您的快速回复 :) 现在工作!我按照问题中 2 个链接中提到的方式进行操作。你看到了吗?
  • 是的,这是不正确的。如果您尝试在 Google 上搜索“laravel mimes mp4”,您会发现您不需要在该规则中使用 video/
  • 我想应该编辑那些遮阳篷以节省其他人的时间:),顺便谢谢
  • 老问题,不过需要把“quicktime”改成“qt”
  • @RykWaters nope.
猜你喜欢
  • 2014-04-18
  • 1970-01-01
  • 2018-02-15
  • 2017-03-09
  • 2018-01-20
  • 2020-03-04
  • 2018-07-12
  • 1970-01-01
  • 2013-07-09
相关资源
最近更新 更多