как отправить файл с помощью формы данных из приложения ioni c angular на сервер laravel? - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь отправить данные формы файла с сервера ioni c - angular на laravel, конечно, с использованием api REST. Затем я готовлю все в ioni c, как вы видите в приведенном ниже коде, но У меня нет решения получить файл в контроллере laravel. Код ioni c

onFileSelect(event) {
    if (event.target.files.length > 0) {
      const file = event.target.files[0];
      this.uploadForm.get('profile').setValue(file);
      console.log(file);
    }
  }
  onSubmit() {
    const formData = new FormData();
    formData.append('file', this.uploadForm.get('profile').value);
    console.log(this.uploadForm.get('profile').value);
    this.complaint.AddFile(this.uploadForm.get('profile').value).then((result)=>{
      console.log(result)
      alert(result);
    },(err)=>{
      console.log("insert err: "+ err)
      console.log("this.myInfo: "+ JSON.stringify(this.myRec))
      //alert(err);
      this.uploadText ="error .....";
    })
  }

 AddFile(file) {
            return new Promise((resolve, reject) => {
              const formData = new FormData();
               formData.append('file', file);
              console.log(formData);
              let   value =    localStorage.getItem('token')
                     let headers = new Headers();
                     headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');
                     headers.append('Accept','application/json');
                     headers.append('Content-type','application/json');
                     headers.append('Content-type', 'multipart/form-data');
                      headers.append('X-Requested-With','XMLHttpRequest');
                 headers.append('Authorization','Bearer '+value);
                   this.http.post('http://192.168.1.14:8000/api/complainfileionic',formData,{headers: headers})
                   .map(res=>res.json())
                   .subscribe(data => {
                       resolve(data);
              }, (err) => {
                       reject(err);
        
                   });
                    });
                  }

Laravek function in controller

publi c файл жалоб на функцию c (Request $ request) {

    $target_path = "uploads/";
     
    $target_path = $target_path . basename( $_FILES['file']['name']);
     
    if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
        header('Content-type: application/json');
        $data = ['success' => true, 'message' => 'Upload and move success'];
        echo json_encode( $data );
    } else{
        header('Content-type: application/json');
        $data = ['success' => false, 'message' => 'There was an error uploading the file, please try again!'];
        echo json_encode( $data );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...