Laravel验证文件扩展名?

时间:2018-06-17 02:58:37

标签: laravel file validation mime-types

我有以下FormRequest验证Files,特别是音频文件:

public function rules()
{
    return [
        'file' => 'bail|required|file|mimes:mpeg,mp3,mp2,aiff,wav,wave,flac,m4a,caf,ogg,aac,amr,wma|max:500000000'
    ];
}

但是,出于某种原因,当我上传任何类型的音频文件时,我得到422说明文件类型无效......这是什么原因?

更新

以下是ajax axios使用const f = new FormData() f.append('file', file) const config = { headers: { 'Content-Type':'multipart/form-data' } } return axios.post('myendpoint', f, config).then((response) => { // handle }).catch((thrown) => { if (axios.isCancel(thrown)) { return console.log('Request canceled', thrown.message); } return console.log(thrown) })

{{1}}

1 个答案:

答案 0 :(得分:0)

你的表格是否有这个:

enctype=“multipart/form-data"

编辑: 为了将您上传的文件正确附加到FormData,您需要在以下位置使用onchange事件:

<强>输入

<input type=“file” onchange=“getFile”>

<强>处理程序

function getFile(event) {
   file = event.target.files
}

阅读here了解详情。