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)
            }
       }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM