Laravel项目视频上传验证报错问题排查求助
问题原因及解决方法
1. 验证规则格式错误(核心问题)
你把max:90000写在了mimetypes的参数列表里,导致Laravel误将其当作MIME类型的一部分,这是错误提示里出现max:90000的直接原因。
正确的验证规则需要把mimetypes和max拆分为独立的规则项:
'housevideo' => [ 'required_without_all:houseimage', 'mimetypes:video/x-ms-asf,video/x-flv,video/mp4,application/x-mpegURL,video/MP2T,video/3gpp,video/quicktime,video/x-msvideo,video/x-ms-wmv,video/avi,video/qt', 'max:90000' // 单独作为一个规则 ],
2. 表单存在重复的文件输入框
你的blade代码里有两个name="housevideo"的文件输入框,这会导致上传时请求中出现同名字段,干扰Laravel的文件解析和验证逻辑,建议删除其中一个多余的输入框。
3. 额外检查:确认视频实际MIME类型
从截图看视频是MP4格式,但部分特殊MP4文件的MIME类型可能为video/mpeg,如果修复上述问题后仍报错,可以通过dd($request->file('housevideo')->getMimeType())输出文件实际MIME类型,再对应调整验证规则中的类型列表。
内容的提问来源于stack exchange,提问作者Ezeomeke Stephen Ozioma
相关产品推荐
相关产品推荐

