在上传之前使用Javascript拆分多文件帖子

use*_*643 6 javascript upload html5

我理解多文件上传的HTML/PHP方面,但我想我所追求的是一个Javascript解决方案,它将文件阵列预先分开并单独将文件发送到单独的PHP程序以接收上传和成功/在继续之前失败反馈.(即:files [0] - > POST - > Success - > files [1] - > POST - > Success - > etc ......)

这是我现在用于单个文件的内容 -

    function upload(file){
        var data = new FormData();
        data.append("file", document.getElementById(file).files[0]);
        var xmlHTTP = new XMLHttpRequest();
        xmlHTTP.open("POST", "uploader.php");
        xmlHTTP.send(data);
    }
Run Code Online (Sandbox Code Playgroud)

我意识到,简单的方法是创建多个文件字段,但我要做的是使用<input type="file" multiple>HTML5一次批量选择一个文件列表.如果我只能用Javascript分隔文件,那么通过上述脚本循环并且onreadystatechange每次报告成功/失败都是一件简单的事情.

有任何想法吗?

编辑:
原谅我的隧道视觉,这非常简单!这是我的完整代码,以防它帮助其他人.

<html>
<head>
    <script language="Javascript">
    function multiupload(file){
    count = 0;
    maxcount = document.getElementById(file).files.length;
    alert(maxcount);
    upload(file,count);
    }

    function upload(file,count){
        var data = new FormData();
        data.append("file", document.getElementById(file).files[count]);
        var xmlHTTP = new XMLHttpRequest();
        xmlHTTP.open("POST", "uploader.php");
        xmlHTTP.onreadystatechange=function(){
            if (xmlHTTP.readyState == 4 && xmlHTTP.status == 200){
            count = count+1;
            if(count<maxcount){
            upload(file,count);
            }
            }
        }
        xmlHTTP.send(data);
    }
    </script>
</head>
<body>
    <div id="result"></div>
    <form method="post" action="">
        <input type="file" name="file" id="file" multiple>
        <input type="button" name="submit" value="Upload" onclick="multiupload('file');void(0);">
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Bir*_*rla 3

尝试这个。您可以在成功处理程序中开始上传下一个文件。这样你就可以执行 files[0] -> POST -> Success -> files 1 -> POST -> Success