• 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)
                }
           }
  • 相关阅读:
    18. 4Sum(双指针)
    17. Letter Combinations of a Phone Number(bfs)
    16. 3Sum Closest(双指针)
    15. 3Sum(字典) (双指针)
    14. Longest Common Prefix(暴力循环)
    8. String to Integer (atoi)
    54. Spiral Matrix(剑指offer--19)
    Baidu 推荐技术平台(offer)
    134. Gas Station(数学定理依赖题)
    187. Repeated DNA Sequences(建立词典,遍历一遍 o(n))
  • 原文地址:https://www.cnblogs.com/ljc1212/p/15033884.html
Copyright © 2020-2023  润新知