Javascript 如何在XMLhttp Post请求中传递多个文件值

Javascript 如何在XMLhttp Post请求中传递多个文件值,javascript,json,ajax,xmlhttprequest,Javascript,Json,Ajax,Xmlhttprequest,我正在使用FileReader()获取文件值。如何发出Http post请求以将多个文件值作为输入进行发布 var fi = document.getElementById('myFile'); if (fi.files.length > 0) { for (var i = 0; i < fi.files.length; i++) { var reader = new FileReader(); reader

我正在使用FileReader()获取文件值。如何发出Http post请求以将多个文件值作为输入进行发布

var fi = document.getElementById('myFile');

    if (fi.files.length > 0) {
        for (var i = 0; i < fi.files.length; i++) {
            var reader = new FileReader();

            reader.readAsDataURL(fi.files[i]);
            var f = fi.files[i];
                    file_input = reader.result.split("base64,").pop();
                    var attachment_type = fi.files[i].type;
                    var filename = fi.files[i].name;
                }
            }

您可以传递输入文件、附件类型、文件名的数组,并使用数组索引处理文件。

您能更详细地解释一下吗JSON将以数组形式包含值。将数组设置为:var file_input=[];var附件_类型=[];var文件名=[];现在,在“for循环”的每个迭代中追加数组。JSON将保持不变。
var data = JSON.stringify(
        {
            "firstname": First,
            "lastname": Last,
            "file": [
                {
                    "input_file": file_input,
                    "attachment_type": attachment_type,
                    "file_name": filename
                }     ]   }  );

    var url = "";
    var xhr = new XMLHttpRequest();
    xhr.open("POST", url, true)
    xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');  
    xhr.send(data);