Я использую Vue + Axios и попытался отправить файл в мое приложение Lumen
HTML
<input type="file" ref="inputfile">
<input type="file" ref="inputfile2">
<button @click="submit">Submit</button>
Vue
methods : {
submit(){
var formData = new FormData();
formData.append('listing_id',222);
formData.append('listing_title','Listing Title');
if( this.$refs.inputfile.value != '' ){
formData.append('attachment',this.$refs.inputfile.files[0]);
}
if( this.$refs.inputfile2.value != '' ){
formData.append('attachment2',this.$refs.inputfile2.files[0]);
}
axios.post(
'https://api.domain.com/api/v3/claim',
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}
).then(function(res){
console.log(res);
})
}
}
и в моем приложении Lumen
return response()->json([ 'success' => true, 'data' => $request->file('attachment') ]);
и приложение Lumen просто неожиданно возвращает пустой объект
Я могу подтвердить, что существует запрос файла
$request->hasFile('attachment');
и возвращает true, а также
$request->file()
возвращает массив пустых объектов.
Я также могу проверить formData
таким образом
formData.forEach(function(el){
console.log(el.name);
});
и возвращает мне имя файла каждого вложения (без дополнительных данных из вышеприведенных полей).
Что кажется неправильным или проблема, при которой запрос файла возвращает пустой объектвместо этого?