2017-01-23 32 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) 
}