layui 上传插件 带预览 非自动上传功能的实例(非常实用)
首先Html部分:
首先Html部分:
JS部分:
//添加图片 layui.use('upload',function(){ varupload=layui.upload;//得到upload对象 varfrequency=0;//记录上传成功的个数 //多文件列表示例 vardemoListView=$('.comment-imgbox.refund-img#addImg'), uploadListIns=upload.render({//执行实例 elem:'#addImg',//绑定文件上传的元素 url:'../upload.php', multiple:true, number:3,//允许上传的数量 auto:false, bindAction:'#comment-btn',//指向一个按钮触发上传 size:'3072',//尺寸 accept:"images",//指定允许上传时校验的文件类型 acceptMime:'image/*',只显示图片文件 exts:"jpg|png|gif|jpeg",//允许后缀 drag:"false",//是否文件拖拽上传 data:{width:400,height:400},//上传接口的额外参数 choose:function(obj){//选择文件后的回调函数 varfiles=this.files=obj.pushFile();//将每次选择的文件追加到文件队列 //如果图片3个,addImg隐藏//假如项目只能传3个图片 if(Object.keys(files).length==3){ $("#addImg").hide(); } //读取本地文件如果是多文件,则会遍历。(不支持ie8/9) console.log(index);//得到文件索引console.log(file);//得到文件对象console.log(result);//得到文件base64编码,比如图片//obj.upload(index,file);//对上传失败的单个文件重新上传,一般在某个事件中使用 obj.preview(function(index,file,result){ //obj.upload(index,file);//对上传失败的单个文件重新上传,一般在某个事件中使用 vardiv=$(['',' ',' ','
部分CSS:
.refund-img{ display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -moz-box-align:center; -ms-flex-align:center; align-items:center; margin-top:30px; } .refund-img-item{ width:30%; position:relative; } .refund-img-item:nth-child(2){ margin:05%; } .addRefundimg{ border:1pxdashed#BFBFBF; } .refund-img-itemimg.proimg{ width:100%; } .refund-img-iteminput[type=file]{ position:absolute; left:0; top:0; width:100%; height:100%; outline:none; border:none; opacity:0; } .refund-img-close{ position:absolute; width:20px; top:0; right:0; padding-right:5px; padding-top:5px; /*display:none;*/ } .addRefundimg.refund-img-close{ /*display:none;*/ } .refund-img-prompt{ display:block; margin-top:5px; margin-bottom:3px; } .refund-submit{ display:block; text-align:center; height:40px; line-height:40px; width:98%; background-color:#fc6900; color:#fff; font-size:16px; border:none; outline:none; margin-top:8px; margin-bottom:20px; } .comment-btn{ width:96%; background-color:#fc6900; color:#fff; height:36px; text-align:center; line-height:36px; display:block; outline:none; border:none; margin-top:30px; }
我用的layui版本是layui2.2.5它这个默认不支持阻止图片上传的,所以需要改动框架的upload.js,
改动前(查找before快速定位):
y=function(){return"choose"===t?l.choose&&l.choose(g):(l.before&&l.before(g),a.ie?a.ie>9?u():c():voidu())};
降上面代码稍作修改改为以下:
if("choose"===t){returnl.choose&&l.choose(g)}; if(l.before&&l.before(g)){returnfalse}; return(a.ie?a.ie>9?u():c():voidu());
以上这篇layui上传插件带预览非自动上传功能的实例(非常实用)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。