请问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%


