Réception d'une image et la créer
Résolu
LearnDeep
Messages postés
70
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour , j'ai envoyé une image de la coté client angular 8 au serveur php 7 mais je ne sais pas comment décoder cette image qui est envoyé avec les autres données du formulaire et comment la créer.
remarque : la variable $photo est la variable à décoder et creer une image.
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true ");
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS, FILES');
header("Access-Control-Allow-Headers: X-Custom-Header, Origin, Content-Type , Authorisation , X-Requested-With");
header("Content-Type: application/json; charset=UTF-8 ");
$json = file_get_contents('php://input');
$decoded = json_decode($json);
$tab = array();
$category = $decoded->categorie;
$marque = $decoded->marque;
$couleur = $decoded->couleur;
$prix = $decoded->prix;
$qte = $decoded->qte;
$niveau = $decoded->niveau;
$photo = $decoded->photo;
function conn()
{
$dbhost = "localhost";
$user = "root";
$pass = "";
$db = "smart";
$conn = new PDO('mysql:host=localhost;dbname=smart', $user, $pass);
return $conn;
}
$db = conn();
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$prepred = $db->prepare("INSERT INTO produit (categorie, marque, prix, couleur, qte, niveau, photo) VALUES(?,?,?,?,?,?,?)");
$prepred->execute([$category, $marque, $prix, $couleur, $qte, $niveau, $photo]);
echo json_encode(true);
?>
remarque : la variable $photo est la variable à décoder et creer une image.
A voir également:
- Réception d'une image et la créer
- Comment créer un groupe whatsapp - Guide
- Accusé de reception gmail - Guide
- Créer un compte google - Guide
- Créer une image iso - Guide
- Créer une adresse hotmail - Guide
voici le code angular
partie html
partie type script
export class ProduitFormComponent implements OnInit, OnDestroy { selectedFile: File public AuthForm: FormGroup; public items: any; constructor(private ngxService: NgxUiLoaderService, private alertService: AlertService, private formBuilder: FormBuilder, private produitsService: ProduitService, private router: Router, private http: HttpClient) { } ngOnInit() { this.AuthForm = this.formBuilder.group({ categorie: ['', Validators.compose([Validators.required])], niveau: ['', Validators.compose([])], marque: ['', Validators.compose([Validators.required])], couleur: ['', Validators.compose([])], prix: ['', Validators.compose([Validators.required])], quantite: ['', Validators.compose([Validators.required])], photo: ['', Validators.compose([])] }); } public hasError = (controlName: string, errorName: string) => { return this.AuthForm.controls[controlName].hasError(errorName); } onFileChanged(event) { this.selectedFile = event.target.files[0]; } onLoadNiveau() { let body = { niveau: this.AuthForm.get('niveau').value } console.log(body); this.http.post("http://localhost/SmartLibrary/api/getNiveau.php", JSON.stringify(body)).subscribe((res) => { this.items = res; console.log(res); }); } onSubmit() { let categorie = this.AuthForm.get('categorie').value; let marque = this.AuthForm.get('marque').value; let couleur = this.AuthForm.get('couleur').value; let prix = this.AuthForm.get('prix').value; let quantite= this.AuthForm.get('quantite').value; let niveau = this.AuthForm.get('niveau').value; let photo = this.AuthForm.get('photo').value; marque = marque.trim().toLowerCase(); const newProduit = new Produit(categorie, marque, couleur, prix, quantite); newProduit.niveau = niveau; newProduit.photo = this.selectedFile; this.produitsService.addProduit(newProduit); console.log(newProduit); this.http.post("http://localhost/SmartLibrary/api/addproduit.php", JSON.stringify(newProduit)).subscribe((res) => { let items: any = res; console.log(res); this.ngxService.start(); setTimeout(() => { this.ngxService.stop(); }, 3000); this.alertService.success('Succés! Produit ajouté !'); this.ngxService.start(); setTimeout(() => { this.ngxService.stop(); }, 3000); }); this.AuthForm.reset(); this.router.navigate(['/espace-admin']); } ngOnDestroy() { this.AuthForm.reset(); }C'était pour que tu en fasses un echo et que tu nous colles le résultat... pas une "explication" de sa provenance.