首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel .mov验证

Laravel .mov验证
EN

Stack Overflow用户
提问于 2018-02-05 17:51:53
回答 3查看 1.2K关注 0票数 0

在一个项目中,我想上传视频。在我的请求中我使用了'path‘=> 'mimes:mp4,mov,avi,mpg,mpeg;quicktime|nullable',

上传.mov视频时,我总是收到错误消息“视频路径必须是一个文件类型: mp4,mov,avi,mpg,mpeg,quicktime”。视频的表情包类型是video/quicktime。

上传.mp4文件效果很好,还没有测试其他类型的视频。有谁有解决方案吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-05 18:09:30

如果验证对您无效,您可以手动检查mime类型:

代码语言:javascript
复制
$video = Input::file('path');
$mime = $video->getMimeType();

$accepted_mimes = array("video/x-flv", "video/mp4", "application/x-mpegURL", 
                                                      "video/MP2T", "video/3gpp", "video/quicktime", 
                                                      "video/x-msvideo", "video/x-ms-wmv");

if(in_array($mime, $accepted_mimes)) {
    //valid video format begin upload
} else {
       //invalid video mime type
       // return back with errors
       return redirect->back()->withErrors(['msg', 'Invalid video']);
}

有关所有可用mime类型的列表,请参阅see here

票数 0
EN

Stack Overflow用户

发布于 2018-02-05 17:58:07

.mov只是一个容器。因此,也许mime类型/编解码器仍然是错误的。您应该首先使用这样的工具来验证这一点:https://mediaarea.net/。然而,作为您问题的解决方案(安全性较低),您只能验证扩展名(路径名)。

这里您看到了一个.mxf文件的示例,但是使用了MPEG编解码器来帮助您理解容器在大多数情况下并不只有一个mime类型(和编解码器)属于它。

仅验证文件扩展名的警告:这是非常不安全的,可能会导致各种麻烦。比如人们上传php文件或其他类型的文件。

票数 0
EN

Stack Overflow用户

发布于 2018-02-05 18:21:51

代码语言:javascript
复制
            $Video= request('PostDetailsVideo');//this is name of posted file
            $rules=[
                'PostDetailsVideo' => 'required|mimetypes:video/x-ms-wmv,video/x-msvideo,video/quicktime,video/3gpp,video/MP2T,application/x-mpegURL,video/mp4,video/x-flv|max:32768'
            ];
            $CheckIsVideo = Validator::make($request->all(),$rules);
            if($CheckIsVideo->fails()){//this not video
                return response()->json([
                    'Success'=> false,
                ], 200);
            }
            else
                return response()->json([
                    'Success'=> true,
                ], 200);                    
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48619723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档