Projektanforderungen: So erhalten Sie die hochgeladenen Bildinformationen (temporärer Speicherpfad, Name, Größe) über js und übergeben sie dann über Ajax an das Backend
Das Subjekt verwendet jquery, um
zu empfangen<input name="c_pic" id="c_pic" type="file" class="file">
Die verwendete Methode ist:
var input = document.getElementById("c_pic"); input.addEventListener('change',readFile,false); function readFile(){ var file = this.files[0]; }
Der Betreff möchte die Ajax-Post-Methode verwenden, um die relevanten Informationen des hochgeladenen Bildes an das Backend zu übertragen. Wie kann ich sie in ein Datenformat konvertieren, das per Post übertragen werden kann?
Als ich dieses Thema sah, dachte ich, dass es nicht einfach sei, die Datei direkt über JSON.stringify(file) zu übergeben (Hinweis: stringify() wird zum Parsen einer Zeichenfolge aus einem Objekt verwendet. Der Code lautet wie folgt). :
var input = document.getElementById("c_pic"); input.addEventListener('change',readFile,false); function readFile(){ var file = this.files[0]; var file_json = JSON.stringify(file); console.log(file_json); //打印出来是: {} $.post('',file_json); }
Ich habe festgestellt, dass das, was gedruckt wurde, ein leeres Objekt war: {}; wenn Sie etwas darüber wissen, lassen Sie es mich wissen, ich wäre Ihnen dankbar!
Also habe ich es mir anders überlegt und das Uploadfile-Plugin oder den Webuploader von Baidu verwendet. Dabei handelt es sich um eine JQuery-Bild-Upload-Komponente, die das Hochladen mehrerer Dateien, das Abbrechen, das Löschen, die Vorschau von Miniaturansichten vor dem Hochladen und die Listenanzeige der Bildgröße unterstützt. und Unterstützung für das Hochladen. Fortschrittsbalkenanzeige; unterstützt serverseitige Entwicklung in verschiedenen dynamischen Sprachen.
Wenn es HTML5 unterstützt, können Sie zum Hochladen FormData Ajax verwenden.
Der obige Inhalt ist die vom Editor geteilte Methode, um hochgeladene Bildinformationen (temporärer Speicherpfad, Name, Größe) über js abzurufen und sie dann über Ajax an das Backend weiterzuleiten. Ich hoffe, dass dies für alle hilfreich ist.