对于我的生活,我只是无法弄清楚如何通过laravel验证允许m4a音频文件通过
$this->validate($request,[
'audio' => 'required|mimes:mpga,mp3,mp4a,aac,m4a'
]);
mp3,mpeg文件可以成功上传,但只是继续拒绝m4a。
任何人都知道我应该包含哪种哑剧类型?
要清楚,我正在寻找Audio / x-m4a的猜测扩展。所有这些(m4a,mp4a,mp4,aac)似乎都不起作用。
由于
答案 0 :(得分:1)
对于Laravel 5.4,请尝试以下操作:
将mimes
更改为mimetypes
,然后使用audio/x-m4a
代替m4a
。
答案 1 :(得分:0)
如果dd
文件mime类型为$this->file('contract_copy')->guessExtension();
,则会为"mp4a"
扩展名返回m4a
个内容。
所以我认为您需要mp4a
验证,而不是像m4a
那样的
$this->validate($request,[
'audio' => 'required|mimes:mpga,mp3,mp4a,aac,mp4a'
]);
更多信息:检查vendor\laravel\framework\src\Illuminate\Validation\Validator.php
中的验证程序类文件,您可以看到laravel如何验证mime类型。
protected function validateMimes($attribute, $value, $parameters)
{
if (! $this->isAValidFileInstance($value)) {
return false;
}
return $value->getPath() != '' && in_array($value->guessExtension(), $parameters);
}