File upload Yii文件验证以允许视频/*

File upload Yii文件验证以允许视频/*,file-upload,yii2,mime-types,File Upload,Yii2,Mime Types,谁能告诉我,我如何允许所有以video/开头的mime类型使用Yii2 目前我的验证如下 [['attachmentfile'], 'file','skipOnEmpty'=>FALSE, 'extensions' => 'mp4,3gp,mov,m4v,mpeg,mpg', 'mimeTypes' => 'video/mp4,video/quicktime,video/x-quicktime,video/x-m4v,video/mov,video/3gpp,video/mpe

谁能告诉我,我如何允许所有以video/开头的mime类型使用Yii2

目前我的验证如下

[['attachmentfile'], 'file','skipOnEmpty'=>FALSE, 'extensions' => 'mp4,3gp,mov,m4v,mpeg,mpg', 'mimeTypes' => 'video/mp4,video/quicktime,video/x-quicktime,video/x-m4v,video/mov,video/3gpp,video/mpeg','on'=>  'create'],
现在我想允许每个视频,因为我在上传一些视频时出错。那么我如何允许所有以视频开头的mime类型呢/*

还有,如果有人能告诉我这是一个好方法吗

真正的问题-
我有一个视频文件是mp4,mime类型是video/mp4。当我上传的时候。我的模型为mime类型生成错误。对于我其余的视频,它工作良好,直到现在。我试着在一个在线链接上检查mime类型,它也显示了mp4。所以我不确定这段视频有什么问题。我现在正在使用ffmpeg转换,所以我想允许上传每个视频文件,并将它们转换为mp4。只有这段视频产生了问题。因此,如果有人能告诉我如何允许所有视频/*mime类型

您可以通过将
checkExtensionByMimeType
设置为
false
来禁用mimeType检查

除此之外,您还必须添加文件返回的MimeType,以便对它的检查返回true

fileinfo没有返回正确的mimeType也可能是您的问题。我曾经在Windows和Linux上做过这样的测试,这是正确的

可在此处找到可用的MimeType列表:


您可以通过将
checkExtensionByMimeType
设置为
false来禁用mimeType检查

除此之外,您还必须添加文件返回的MimeType,以便对它的检查返回true

fileinfo没有返回正确的mimeType也可能是您的问题。我曾经在Windows和Linux上做过这样的测试,这是正确的

可在此处找到可用的MimeType列表:


谢谢我查看了Yi2API:basefilehelper::getMimeType。它真的帮助了我。它显示mime类型-“应用程序/八位字节流”。所以它是一个二进制文件。对于只需更新的未来用户,您可以通过以下方式获取mime类型:
echo$pp=\yii\helpers\FileHelper::getMimeType($model->attachmentfile->tempName)
这里attachmentfile是我的表单输入。所以我不允许这个文件,谢谢我检查了yii2api:basefilehelper::getMimeType。它真的帮助了我。它显示mime类型-“应用程序/八位字节流”。所以它是一个二进制文件。对于只需更新的未来用户,您可以通过以下方式获取mime类型:
echo$pp=\yii\helpers\FileHelper::getMimeType($model->attachmentfile->tempName)
这里attachmentfile是我的表单输入。所以我不允许这个文件