0

我正在尝试在使用 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 循环是否是进行多个文件上传的最佳方式。我觉得这在网站上可能会变得很重。这样做的更好方法是什么?

4

1 回答 1

2

当您调用 send 时请求开始。您可能希望将文件排队以限制并发上传。看看已经存在的文件上传器实现。

如果您想编写自己的,请查看 html5 上传器的源代码。

于 2013-05-20T23:49:29.237 回答