微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AJAX并行上传多个文件

有这个功能

function uploadFile(f,parent) {

    var xhr = new XMLHttpRequest();

    xhr.upload.addEventListener("progress",function (event) { uploadProgress(event,parent); },false);
    xhr.upload.addEventListener("load",function (event) { uploadComplete(event,false);
    xhr.upload.addEventListener("error",uploadFailed,false);
    xhr.upload.addEventListener("abort",uploadCanceled,false);

    xhr.open("POST","Upload.aspx",true);
    //xhr.setRequestHeader("Cache-Control","no-cache");
    xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");
    xhr.setRequestHeader("Content-Type","multipart/form-data");
    xhr.setRequestHeader("X-File-Name",f.name);
    xhr.setRequestHeader("X-File-Size",f.fileSize);
    xhr.send(f); 
}

函数的参数“f”是出现在drop事件上的File(event.dataTransfer.files [0])
问题是我有多个元素触发drop事件(并隐式调用uploadFile函数),但上传不是并行完成的.首先上传一个删除文件,上传完成后,才上传第二个文件.为什么文件并不上传

谢谢!

解决方法

这是使用客户端脚本完成的,客户端脚本按照定义是单线程的 – 本质上是一次一件事.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐