+
95
-

js如何并发同时上传多个文件?

请问js如何并发同时上传多个文件?

网友回复

+
15
-

使用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%

我知道答案,我要回答