2017-01-23 33 views
0

道歉,如果這已在其他地方回答,但它似乎我有一個非常具體的問題上傳文件使用FormData對象。使用XHR提交Formdata

HTML表單:

<form id="file-form" method="post"> 
    <input type="file" id="file-input" multiple onchange="HandleFileInput(event); return false;"/> 
</form> 

的JS回調:

HandleFileInput(event) { 
    var fd = new FormData(); 
    var fileList = document.getElementById('file-input').files; 
    for (let i = 0; i < fileList.length; i++) { 
     fd.append(fileList[i].name, fileList[i]); 
    } 
} 

使用調試器,我可以看到的fileList確實充滿了文件條目(多),我可以訪問個人通過在控制檯中編制索引文件。但是,似乎我無法將文件附加到FormData對象。在for循環之後,fd對象仍然是空的。幫幫我?

+0

「for循環的FD對象仍然是空後」 - 這是幾乎可以肯定的你是如何試圖查看內容的假象。只需提交數據。應該沒問題。 – Quentin

+0

是什麼讓你認爲這些文件不會附加到FormData對象? – gus27

+0

感謝您的幫助,確實將所有內容都按預期添加到了對象中。 – TeaMonkie

回答

0

好吧,似乎一切都按照預期追加到fd對象。我檢查這個使用FD對象的values()功能:

for (var value of fd.values()) { 
    console.log(value) 
}