使用XHR提交Formdata

时间:2017-01-23 11:04:46

标签: javascript multipartform-data

如果已经在其他地方回答了这个问题,我很抱歉,但似乎我在使用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对象仍然是空的。帮助

1 个答案:

答案 0 :(得分:0)

好吧,似乎所有内容都按预期附加到fd对象。我使用fd对象的values()函数检查了这个:

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