同步操作将从 Layui/layui 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>上传组件 - layui</title><link rel="stylesheet" href="../src/css/layui.css"><style>.layui-upload-img{width: 92px; height: 92px; margin: 0 10px 10px 0;}hr{margin: 32px 0;}</style></head><body class="layui-padding-5"><div class="layui-upload"><button type="button" class="layui-btn" id="test1" name="123">上传图片</button><div class="layui-upload-list"><img class="layui-upload-img" src="" id="demo1"><p id="demoText"></p></div></div><div class="layui-progress layui-progress-big" lay-showPercent="yes" lay-filter="demo"><div class="layui-progress-bar" lay-percent=""></div></div><hr><div class="layui-upload"><button type="button" class="layui-btn" id="test2">多图片上传</button><div class="layui-upload-list" id="demo2"></div></div><hr><div class="layui-upload"><button type="button" class="layui-btn layui-btn-normal" id="testList">选择多文件</button><div class="layui-upload-list"><table class="layui-table"><thead><th>文件名</th><th>大小</th><th>上传进度</th><th>操作</th></thead><tbody id="demoList"></tbody></table></div><button type="button" class="layui-btn" id="testListAction">开始上传</button></div><hr><div class="layui-btn-container"><button type="button" class="layui-btn test333" lay-data="{size:10,url:'a'}" id="test3"><i class="layui-icon"></i>上传文件</button><button type="button" class="layui-btn layui-btn-primary test333" lay-data="{size:20,url:'b'}" id="test33"><i class="layui-icon"></i>换个样式</button><button type="button" class="layui-btn" id="test4"><i class="layui-icon"></i>上传视频</button><button type="button" class="layui-btn" id="test5"><i class="layui-icon"></i>上传音频</button></div><hr><div class="layui-btn-container"><button class="layui-btn testm" lay-data="{url: '/a/'}">参数设在元素上</button><button class="layui-btn testm" lay-data="{url: '/b/', accept: 'file',size:5}">参数设在元素上</button></div><hr><div class="layui-btn-container"><button type="button" class="layui-btn layui-btn-normal" id="test6">选择文件</button><button type="button" class="layui-btn" id="test7">开始上传</button></div><hr><br><div class="layui-upload-drag" id="test8"><i class="layui-icon"></i><p>点击上传,或将文件拖拽到此处</p></div><hr><br>绑定原始文件域:<input type="file" name="file" id="test9"><script src="../src/layui.js" src1="https://cdn.staticfile.org/layui/2.7.6/layui.js"></script><script>layui.use(['upload', 'element', 'form'], function(){var $ = layui.$;var upload = layui.upload;var element = layui.element;// 模拟接口var url = '' // 'https://httpbin.org/post';// 创建实例var uploadInst = upload.render({elem: '#test1',url: url, // 若需模拟上传过程,而不真实上传文件,可使用开源的 HTTP 模拟接口: httpbin// size: 2000, //限制文件大小,单位 KB// accept: 'file',method: 'get',fileAccept: 'image/*',exts: 'jpg|png|gif|bmp|jpeg|pdf',data: { // 额外参数a: 1,b: function(){return 2}},choose: function(obj){console.log('choose', obj);},before: function(obj){//预读本地文件示例,不支持ie8obj.preview(function(index, file, result){$('#demo1').attr('src', result); //图片链接(base64)});return;layer.msg('不允许上传')return false;},done: function(res, index){//如果上传失败if(res.code > 0){return layer.msg('上传失败');}//上传成功console.log(res, index);},error: function(index, upload){this.item.html('重选上传');//演示失败状态,并实现重传var demoText = $('#demoText');demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');demoText.find('.demo-reload').on('click', function(){uploadInst.upload();});element.progress('demo', '0%');},progress: function(n, elem, res, index){console.log(n + '%', elem, res, index); //获取进度百分比element.progress('demo', n + '%'); //可配合 layui 进度条元素使用}});// 重载上述实例uploadInst.reload({field: 'avatar',accept: 'images', // 只允许上传图片acceptMime: 'image/*', // 只筛选图片// size: 2,});// 演示多图片上传upload.render({elem: '#test2',url: url, // 实际使用时改成您自己的上传接口即可multiple: true, // 多文件unified: true, // 一起上传 --- 2.8.8+accept: 'images',number: 3, // 同时上传的数量size: 1024,before: function(obj){// 预读本地文件示例,不支持ie8obj.preview(function(index, file, result){$('#demo2').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img">')});// this.files = obj.pushFile();},done: function(res, index){// 上传完毕console.log(res, index)},allDone: function(obj){console.log(obj)}});// 演示多文件列表 --- 本示例仅演示未开启 unified 属性的情况var demoListView = $('#demoList');var uploadListIns = upload.render({elem: '#testList',url: url, // 实际使用时改成您自己的上传接口即可accept: 'file',multiple: true,number: 5,auto: false,bindAction: '#testListAction',// size: 30,choose: function(obj){var files = this.files = obj.pushFile(); // 将每次选择的文件追加到文件队列//读取本地文件obj.preview(function(index, file, result){var tr = $(['<tr id="upload-'+ index +'">','<td>'+ file.name +'</td>','<td>'+ (file.size/1014).toFixed(1) +'kb</td>','<td><div class="layui-progress" lay-filter="progress-'+ index +'"><div class="layui-progress-bar" lay-percent=""></div></div></td>','<td>','<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>','<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>','</td>','</tr>'].join(''));//单个重传tr.find('.demo-reload').on('click', function(){obj.upload(index, file);});//删除var that = this;tr.find('.demo-delete').on('click', function(){console.log(files, index);delete files[index]; //删除对应的文件tr.remove();uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选});demoListView.append(tr);element.render('progress');});},done: function(res, index, upload){//if(res.code == 0){ //上传成功var tr = demoListView.find('tr#upload-'+ index),tds = tr.children();tds.eq(3).html(''); //清空操作delete this.files[index]; //删除文件队列已经上传成功的文件return;//}this.error(index, upload);},allDone: function(obj){console.log(obj)},error: function(index, upload){var tr = demoListView.find('tr#upload-'+ index),tds = tr.children();tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传},progress: function(n, elem, e, index){console.log(n);console.log(index);element.progress('progress-'+ index, n + '%'); //进度条}});upload.render({elem: '.test333',url: url,accept: 'file',choose: function(obj){console.log(this.elem);},done: function(res){console.log(res);}});upload.render({elem: '.testm',done: function(res, index, upload){//获取当前触发上传的元素,一般用于 elem 绑定 class 的情况,注意:此乃 layui 2.1.0 新增var item = this.item;}})/*upload.render({elem: '#test33',url: '',accept: 'file',done: function(res){console.log(res)}});*/upload.render({elem: '#test4',url: url, // 实际使用时改成您自己的上传接口即可accept: 'video',done: function(res){console.log(res)}});upload.render({elem: '#test5',url: '',accept: 'audio',done: function(res){console.log(res)}});//手动上传upload.render({elem: '#test6',url: url, // 实际使用时改成您自己的上传接口即可auto: false,// multiple: true,bindAction: '#test7',choose: function(obj){var that = this;obj.preview(function(index, file){that.elem.after('<span class="layui-inline layui-upload-choose">'+ file.name +'</span>');console.log(file.name);//obj.resetFile(index, file, '123.jpg');});},before: function(){console.log(345);},done: function(res){console.log(res);}});upload.render({elem: '#test8',url: url, // 实际使用时改成您自己的上传接口即可done: function(res){console.log(res);}});upload.render({elem: '#test9',url: url, // 实际使用时改成您自己的上传接口即可done: function(res){console.log(res);}});});</script></body></html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。