gpt4 book ai didi

php - Laravel - 视频文件验证

转载 作者:行者123 更新时间:2023-12-04 13:08:28 25 4
gpt4 key购买 nike

这是如何在 laravel 中验证视频文件?

$validator = Validator::make(Input::all(),
array(
'file' => 'mimes:mp4,mov,ogg | max:20000'
)
);

因为即使上传的文件是 mov 类型,它也会返回该文件应该是上面规则中列出的类型之一。

我最终如何解决它:

按照下面答案的提示,我最终将上传文件的 MIME 类型存储到 $mime像这样的变量:
$file = Input::file('file');
$mime = $file->getMimeType();

然后必须编写一个 if 语句来检查视频 MIME 类型:
if ($mime == "video/x-flv" || $mime == "video/mp4" || $mime == "application/x-mpegURL" || $mime == "video/MP2T" || $mime == "video/3gpp" || $mime == "video/quicktime" || $mime == "video/x-msvideo" || $mime == "video/x-ms-wmv") 
{
// process upload
}

最佳答案

该代码正在检查扩展名,而不是 MIME 类型。您应该使用适当的 MIME 类型:

 Video Type     Extension       MIME Type
Flash .flv video/x-flv
MPEG-4 .mp4 video/mp4
iPhone Index .m3u8 application/x-mpegURL
iPhone Segment .ts video/MP2T
3GP Mobile .3gp video/3gpp
QuickTime .mov video/quicktime
A/V Interleave .avi video/x-msvideo
Windows Media .wmv video/x-ms-wmv

如果您不确定您正在测试的文件的 MIME 类型,您可以尝试 $file->getMimeType()

关于php - Laravel - 视频文件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22378742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com