Я хочу загрузить pdf в свой проект, используя laravel и vuejs, но он показывает 422 (Unprocessable Entity). Кто-нибудь может помочь, ребята? файл не может пройти к контроллеру, вход пуст, когда я отправляю? это vue:
<form @submit="ajouterReclamtion" enctype="multipart/form-data">
<div class="form-group" >
<div class="input-group mt-2">
<input type="file" :class="{ 'is-invalid': form.errors.has('file') }" name="file"
v-on:change="onFileChange">
<has-error :form="form" field="file"></has-error>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary" >Add</button>
</div>
</form>
и это часть скрипта:
onFileChange(e){
console.log(e.target.files[0]);
this.file = e.target.files[0];
},
ajouterReclamtion(){
e.preventDefault();
let currentObj = this;
const config = {
headers: { 'content-type': 'multipart/form-data' }
}
let formData = new FormData();
formData.append('file', this.file);
this.form.post('api/reclamation', formData, config).then(()=>{
fire.$emit('ajoutreclamation');
$("#ajouterReclamation").modal('hide');
Toast.fire({
icon: 'success',
title: 'Réclamation created'
})
currentObj.success = response.data.success;
}).catch(function (error) {
currentObj.output = error;
});
},
и это контроллер:
public function store(Request $request)
{
$this->validate($request,[
'file' => 'required|mimes:doc,docx,pdf,txt|max:2048'
]);
$data = $request->all();
$extention = time().'.'.$request->file->getClientOriginalExtension();
$fileName =$request->name.'.'.$extention;
$request->file->move(public_path('upload'), $fileName);
$reclamation->file= $fileName;
$reclamation->save();
}