Laravel.mov 验证
Laravel .mov validation
在项目中我想上传视频。在我的请求中,我使用 'path' => 'mimes:mp4,mov,avi,mpg,mpeg;quicktime|nullable',
上传 .mov 视频时,我总是收到错误 "The video path must be a file of type: mp4, mov, avi, mpg, mpeg, quicktime."。视频的表情包类型是video/quicktime.
上传 .mp4 文件完美无缺,尚未对其他视频类型进行测试。有人有解决办法吗?
.mov 只是一个容器。所以也许 mime 类型/编解码器仍然是错误的。您应该首先使用如下工具验证这一点:https://mediaarea.net/。但是,作为解决您的问题(不太安全)的方法,您只能验证扩展名(路径名)。
在这里您可以看到一个 .mxf 文件的示例,但带有 MPEG 编解码器以帮助您了解容器在大多数情况下并不只有一种属于它的 mime 类型(和编解码器)。
仅验证文件扩展名的警告:这是非常不安全的,可能会导致各种麻烦。喜欢人们上传 php 个文件或其他类型的文件。
如果验证不适合您,您可以手动检查 mime 类型:
$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
$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);
在项目中我想上传视频。在我的请求中,我使用 'path' => 'mimes:mp4,mov,avi,mpg,mpeg;quicktime|nullable',
上传 .mov 视频时,我总是收到错误 "The video path must be a file of type: mp4, mov, avi, mpg, mpeg, quicktime."。视频的表情包类型是video/quicktime.
上传 .mp4 文件完美无缺,尚未对其他视频类型进行测试。有人有解决办法吗?
.mov 只是一个容器。所以也许 mime 类型/编解码器仍然是错误的。您应该首先使用如下工具验证这一点:https://mediaarea.net/。但是,作为解决您的问题(不太安全)的方法,您只能验证扩展名(路径名)。
在这里您可以看到一个 .mxf 文件的示例,但带有 MPEG 编解码器以帮助您了解容器在大多数情况下并不只有一种属于它的 mime 类型(和编解码器)。
仅验证文件扩展名的警告:这是非常不安全的,可能会导致各种麻烦。喜欢人们上传 php 个文件或其他类型的文件。
如果验证不适合您,您可以手动检查 mime 类型:
$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
$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);