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

时间:2018-11-21 05:43:25

标签: javascript json ajax xmlhttprequest

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

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;
                }
            }

HTTP请求

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);

1 个答案:

答案 0 :(得分:1)

您可以传递input_file,attachntnt_type,file_name的数组,并使用数组索引处理文件。