XHR上传和上传开始的那一刻

时间:2013-05-20 23:42:24

标签: javascript file-upload xmlhttprequest

我试图找到一种方法,当用XHR启动上传时,我可以做点什么;我环顾四周,看到.loadstart是在请求开始的时候(这意味着究竟是什么?)这就是我所拥有的:

function processUpload(file, postName, onLoadCallback, onErrorCallBack, onProgressCallBack, startCallBack)
{    
    var xhr = new XMLHttpRequest();
    var fD = new FormData();

    for(var i = 0; i < file.length; i++)
    {
        xhr.open("POST", "PATHHERE");

        xhr.loadstart = startCallBack;

        xhr.onload =  onLoadCallback;

        xhr.onerror = onErrorCallBack;

        xhr.upload.onprogress = onProgressCallBack;

        fD.append(postName, file[i]);
        xhr.send(fD);
    }
}

另外,我不确定for循环是否是进行多个文件上传的最佳方式。我觉得这可能会在网站上变得沉重。有什么更好的方法呢?

1 个答案:

答案 0 :(得分:2)

请求在发送时启动。您可能希望将文件排队以限制并发上载。看看现有的file uploader实施。

如果您想编写自己的html5上传器,请查看source code