请问js如何并发同时上传多个文件?
网友回复
使用js的promise并发上传,由于js是单线程模式,所以promise实际上用的是js的event loop事件机制实现的,完整的代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> var fileret = new Array(); const uploadfilepromise = function(file) { return new Promise((resovle, reject) => { var postdata = new FormData(); postdata.set('filedata', file); var filepath = file.webkitRelativePath; var startpos = filepath.indexOf("/"); var lengths = filepath.lastIndexOf("/")-startpos; // var folderpath=""; // alert(lengths); var folderpath = ""; if (lengths > 0) { folderpath = filepath.substr(startpos, lengths); // alert(folderpath); } postdata.set('folderpath', folderpath); // var filekey = this.files[i].name+this.files[i].size.toString(); $.ajax({ type: 'POST', url: "上传图片文件的后端接口", data: postdata, cache: false, processData: false, contentType: false, dataType: 'json', ...
点击查看剩余70%