So fügen Sie eine Datei-Objekt, um eine FileList-Sammlung in JavaScript?
Ich arbeite gerade an einem drag und drop-Datei-upload-Feld.
Ich bin in der Lage, zurück FileList-Objekt mit der Datei, angegeben durch den Benutzer. Ich habe eine versteckte Datei-input-Feld, in dem ich dann die Datei Hinzugefügt werden soll-Objekt, so kann ich dann senden Sie die Formulardaten per AJAX.
Das problem, das ich habe ist, dass ich kann nicht scheinen, um die Datei zu kopieren Objekt in die Datei-input-Feld. Hier ist, wie ich bin, es zu versuchen:
var files = evt.dataTransfer.files; //FileList object.
var fileUploadElem = document.getElementById(fileUploadId);
//trying to copy the first file of files into the file upload field
fileUploadElem.files[0] = files[0];
//this statement returns '0' instead of '1'
console.log('fileUploadElem length: '+fileUploadElem.files.length);
Schätzen, Ratschläge oder Zeiger.
- Ich glaube nicht, dass Sie das tun können, verwenden Sie ein FormData-Objekt und sendet die mit ajax statt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein Beispiel von MDN, wie es zu tun mit FormData:
Den Grund, warum Sie nicht Arbeit für mich war, weil einer der JavaScript-Eigenschaften nicht unterstützt in Chrome daher klappte es auf, mein Kollege Maschine, die arbeitete im Firefox-browser, aber nicht für mich.