我试图找到一种方法,当用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循环是否是进行多个文件上传的最佳方式。我觉得这可能会在网站上变得沉重。有什么更好的方法呢?
答案 0 :(得分:2)
请求在发送时启动。您可能希望将文件排队以限制并发上载。看看现有的file uploader实施。
如果您想编写自己的html5上传器,请查看source code。