загрузить файл PDF в Laravel используя Vue -Error 422 - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу загрузить 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();
    } 
...