У меня возникла проблема с получением данных из службы в API.
insertService(nom: string, fileToUpload: File) {
console.log(nom);
const url = 'http://localhost/Admin/src/api/api.php?action=insertService&nom=' + nom ;
const formData: FormData = new FormData();
formData.append('nom', nom);
formData.append('image', fileToUpload, fileToUpload.name);
return this.http.post(url, formData);
}
и это API
$rest_json = file_get_contents("php://input");
$_POST = json_decode($rest_json, true);
$nom = $_POST['nom'];
$image = $_POST['image'];
$filetmp = $_FILES["image"]["tmp_name"];
$filename = $_FILES["image"]["name"];
$filepath = "../assets/img/" . $_FILES["image"]["name"];
move_uploaded_file($filetmp, $filepath);
$query = 'INSERT into etservice(nom_service,date_s,image_ser) values("' . $nom . '","' . Null . '","' . $filepath . '")';
$result = $db->query($query);
if ($result === TRUE) {
$res = "Inserted'$nom '";
echo json_encode($res);
} else {
echo json_encode("Error" . $query . "<br>" . $db->error);
}
break;
Проблема в том, что я не могу получить значение "nom" внутри API, и он не показывает мне никаких ошибок. Может кто-нибудь мне помочь?
I think you are missing the headers part of the provided code:
insertService(nom: string, fileToUpload: File) {
console.log(nom);
const url = 'http://localhost/Admin/src/api/api.php?action=insertService&nom=' + nom ;
const formData: FormData = new FormData();
formData.append('nom', nom);
formData.append('image', fileToUpload, fileToUpload.name);
let headers = new Headers();
headers.append('enctype', 'multipart/form-data');
headers.append('Accept', 'application/json');
// headers.append('Authorization', 'Bearer ' + Authtoken);
// uncomment if needed
let options = new RequestOptions({headers: headers});
return this.http.post(url, formData, , options);
}
Надеюсь, что этот код будет работать