layui的upload组件使用和上传阻止

Posted mo3408

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了layui的upload组件使用和上传阻止相关的知识,希望对你有一定的参考价值。

页面上一个按钮,点击弹出上传框,从按钮的方法代码开始写:处理未选择文件阻止上传;通过判断选择文件的数量,显示或隐藏上传按钮;

在js中定义:

  1 function  uploadFile(){
  2 
  3     layer.open({
  4 
  5         type:1,
  6 
  7         title:‘上传文件‘,
  8 
  9         area:[‘25%‘,‘400px‘],
 10 
 11         content:‘<div class="layui-form-item" style="margin-top:40px;"> 12 
 13           <div class="layui-input-block"> 14 
 15             <input class="layui-btn" type="button" id="chooseFIle" value="选择文件"> 16 
 17             <span></span> 18 
 19           </div> 20 
 21         </div> 22 
 23           <div class="layui-form-item" style="margin-top:40px;"> 24 
 25           <div class="layui-input-block"> 26 
 27             <input class="layui-btn" type="button" id="uploadbtn" value="上传"> 28 
 29             <span></span> 30 
 31           </div> 32 
 33         </div>‘,
 34 
 35     btn:[‘关闭‘],
 36 
 37     btn1:function(idx,ele){
 38 
 39         layer.closeAll();
 40 
 41       }
 42 
 43   })
 44 
 45 createUpload();
 46 
 47 }
 48 
 49   
 50 
 51 var  files ;
 52 
 53 function createUpload(){
 54 
 55       $("#uploadbtn").hide();
 56 
 57       $("#chooseFile").next().next("span").text("");
 58 
 59       layui.use([‘upload‘],function(){
 60 
 61         var uploadInst = upload.render({
 62 
 63             elem:‘#chooseFile‘,
 64 
 65              url:‘ ‘,
 66 
 67               accept:‘file‘,
 68 
 69              auto:false,
 70 
 71             multiple:true,
 72 
 73           acceptMime:‘application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘,
 74 
 75           exts:‘xls|xlsx‘,
 76 
 77           size:1024000,
 78 
 79           number:5,
 80 
 81           bindAction:‘#uploadbtn‘,
 82 
 83           choose:function(obj){
 84 
 85             files = this.files = boj.pushFile();
 86 
 87             if(Object.keys(files).length>0){ $("#uploadbtn").show(); }
 88 
 89             obj.preview(function(index,file,result){
 90 
 91               $("#chooseFile").siblings("span").append("<div title=‘"+index+"‘>"+file.name+"&nbsp;&nbsp;<span onclick=‘deletefile(""+index+"")‘>&times;</span></div>")
 92 
 93                if(index>0) {$("#uploadbtn").show() ;}
 94 
 95               })
 96 
 97           },
 98 
 99         allDone:function(obj){  
100 
101             if(obj.successful){
102 
103               layer.msg(obj.total+"个文件上传成功!");
104 
105             }
106 
107           },
108 
109         error:function(){
110 
111           layer.alert("上传成功!");
112 
113         }
114 
115     })
116 
117   }
118 
119 }
120 
121 function  deletefile(index){
122 
123   delete  files[index];
124 
125   $("#chooseFile").siblings("span").find("div[title="+index+"]").remove();
126 
127   if(!Object.keys(files).length>0){
128 
129       $("#uploadbtn").hide();
130 
131   }
132 
133   
134 
135 }

以上是关于layui的upload组件使用和上传阻止的主要内容,如果未能解决你的问题,请参考以下文章

layui文件上传回调前对文件类型及大小判断

Element Upload上传多文件请求一次接口

layui+springmvc实现文件异步上传

Layui多文件上传进度条

如何阻止 React Ant Design Upload 组件自动发布文件

layui上传文件前加入确认提示