Ich versuche, Datei in Angular 4 hochzuladen und es an PHP mit anderen Daten wie Text zu senden, wenn ich var_dumb() verwende, um die Daten das Dateiobjekt leer zu lesen.Datei in Angular 4 hochladen und an PHP-Datei übergeben
Mein post.component.html
:
<a class="upload-photo-item">
<input type="file" class="Upload-photo" accept="image/*" ngf-max-size="2MB" (change)="handleInputChange($event)"/>
<i class="fa fa-tags olymp-computer-icon" aria-hidden="true"></i>
<h6>Upload Photo</h6>
<span>Browse your computer.</span>
</a>
Und das ist handleInputChange
Funktion:
post = new PostObject();
image: File;
handleInputChange(event) {
console.log(event);
this.image = event.target.files[0];
var pattern = /image-*/;
if (!this.image.type.match(pattern)) {
console.log('File is not an image');
return;
}
this.post.postPhoto = this.image;
console.log('image :' + this.image);
}
Alles bis jetzt perfekt ist, kann ich meine Objektdatei in der Konsole sehen, jetzt ist hier das Problem:
Mein post.php
:
$data = json_decode(file_get_contents('php://input'), true);
var_dump($data);
exit;
Die API-Antwort mit array (0) wie folgt aus:
Es wird von base64
gelöst werden kann, aber das ist keine Option für mich, irgendwelche Ideen bitte?
Sie können Formulardaten verwenden, um die Dateien auf dem Server in Ajax Art und Weise zu senden und empfangen mit $ _FILES und $ _POST für Nicht-Dateidaten –
@RoweldeGuzman Ich habe es versucht, aber ich bin mir sicher, dass es einen anderen Weg gibt, dein Weg ist mit AngularJS möglich, ich benutze Angular 4. –