我有一个用户可以上传音频文件。我想在validation
中使用Laravel
来检查文件格式,因为该文件必须是m4a
。
我使用以下代码进行验证,但它不允许上传任何文件,即使是m4a
个文件。
$this->validate(request(),
[ 'title' => 'required',
'body' => 'required',
'category' => 'required',
'audio' => 'mimetypes:audio/x-m4a'
],
[ 'title.required' => 'title is missed',
'body.required' => 'body is missed',
'category.required' => 'category is missed',
'audio.mimetypes' => 'the file format must be m4a'
]);
我还使用mimes:audio/x-m4a
和mimes:audio/m4a
代替mimetypes:audio/x-m4a
,但问题已经存在。
我该如何验证?
答案 0 :(得分:0)
使用此:
[
'title' => 'required',
'body' => 'required',
'category' => 'required',
'audio' => 'mimetypes:audio/mp4|mimes:m4a'
]
答案 1 :(得分:0)
正如您在官方Apache list of mime types中所看到的 m4a文件格式与audio / mp4 mime类型相关联。
首先,查看你的mime.conf并检查包含audio / mp4的行是否被注释,是否取消注释并重新启动apache。
如果它不存在,您可以使用此指令将其添加到该文件或.htaccess文件中:AddType audio/mp4 .m4a .mp4
如果您确定文件的mime类型是x-m4a,请将其添加到.htaccess