Я пытаюсь отправить данные формы файла с сервера 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 );
}
}