layui-upload.render 文件上传后清空已上传的文件 选择文件后清空上一次选择的文件

      upload.render({
              elem: '#LAY-excel-upload',  //绑定元素
              url: MODULE_PATH + '/upload',//上传接口(PS:这里不用传递整个 excel)
              accept: 'file', 
              auto: false,  //选择文件后不自动上传 点击按钮触发
              data:{"canshu":"参数"},//@RequestParam(value="canshu", required = false)String canshu 后台接收
              bindAction: '#uploadAction', //指向一个按钮触发上传
              exts: 'xls|xlsx',
              choose: function (obj) {// 选择文件回调
                var files = obj.pushFile();
                <!-- ***************************************************************************** -->
                //上传时 文件存进layui的文件上传队列,会出现重复校验第一次上传文件,设置校验删除之前历史文件
                var lastX=0;  
                var fileCount=0;
                //遍历,获取最后一个文件的下标索引
                for (var x in files) {
                    //x是文件对象的唯一索引,是个字符串,例如:1612418956647-0        
                    lastX=x;      
                    fileCount++;
                }
                if(fileCount>1){
                    //删除其他文件,保留最后一个文件
                    for (var x in files) {
                        if(x != lastX){               
                            delete files[x];
                        }
                    }
                }
                <!-- ***************************************************************************** -->
var fileArr = Object.values(files);// 注意这里的数据需要是数组,所以需要转换一下 uploadExcel(fileArr); //上传校验 如果只需要最新选择的文件,可以这样写: uploadExcel([files.pop()]) }, before: function(obj){ layer.load(); }, done: function(res, index, upload){ layer.close(layer.load()); //导入后 回调函数 }, error:function(){ layer.close(layer.load()); } });
    function uploadExcel(files) {
            try {
                  excel.importExcel(files, {
                      // 可以在读取数据的同时梳理数据
                      fields: {
                        'nickname': 'A', 
                        'idNumber': 'B', 'email': 'C', 
                        'phone': 'D'
                      }
                    }, function(data) {
                        var emptyRow="";
                        fileTag=true;
                        fileIsNull=true;
                        if(data[0].sheet1.length<2) {//length : 0空文件 1只有表头
                            layer.msg("上传文件为空!", {icon: 7});  
                            $('#LAY-excel-upload').val("");
                        }else{
                            for (var i=1;i<data[0].sheet1.length;i++) {//从1开始  0为首行
                                var tag=(data[0].sheet1[i].nickname == "") ? true : false;
                                if(tag == true) {
                                    var a=i+1;
                                    if(emptyRow == "") {
                                        emptyRow = a+"";
                                    }else{
                                        emptyRow = emptyRow + "," +a;
                                    }
                                    continue;
                                }
                                tag=(data[0].sheet1[i].idNumber == "") ? true : false;
                                if(tag == true) {
                                    var a=i+1;
                                   if(emptyRow == "") {
                                       emptyRow = a+"";
                                   }else{
                                       emptyRow = emptyRow + "," +a;
                                   }
                                    continue;
                                }
                               
                                tag=(data[0].sheet1[i].email == "") ? true : false;
                                if(tag == true) {
                                    var a=i+1;
                                    if(emptyRow == "") {
                                        emptyRow = a+"";
                                    }else{
                                        emptyRow = emptyRow + "," +a;
                                    }
                                    continue;
                                }
                                tag=(data[0].sheet1[i].phone == "") ? true : false;
                                if(tag == true) {
                                    var a=i+1;
                                    if(emptyRow == "") {
                                        emptyRow = a+"";
                                    }else{
                                        emptyRow = emptyRow + "," +a;
                                    }
                                    continue;
                                }
                            }
                            if(emptyRow != "") {
                                layer.msg("表格中第"+emptyRow+"行有空数据,请填写完整后再上传!", {icon: 7});  
                                $('#LAY-excel-upload').val("");
                            }
                        }
                })
               
                    
            } catch (e) {
                layer.alert(e.message)
            }
       }
原文地址:https://www.cnblogs.com/ljc1212/p/15033884.html