您当前的位置: 首页 >  后端

漏刻有时

暂无认证

  • 0浏览

    0关注

    717博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

layui多文件上传与PHP后端对接的解决方案

漏刻有时 发布时间:2021-05-20 21:48:28 ,浏览量:0

layui目前暂不支持批量上传(即同时上传多个),但支持添加多个文件(即一个一个上传)

在这里插入图片描述

版本:layui-v2.5.7 后端:php

外部文件引入
    
    
容器构建

    选择多文件
    
        
            
                
                
                
                
            
            
            文件名
            大小
            上传进度
            操作
            
            
        
    
    开始上传

JS核心上传
layui.use(['upload', 'element', 'layer'], function () {
        var $ = layui.jquery
                , upload = layui.upload
                , element = layui.element
                , layer = layui.layer;

        //演示多文件列表
        var uploadListIns = upload.render({
            elem: '#testList'
            , elemList: $('#demoList') //列表元素对象
            , url: 'http://test.com/get.php'
            , accept: 'file'
            , multiple: true
            , number: 10
            , auto: false
            , bindAction: '#testListAction'
            , choose: function (obj) {
                var that = this;
                var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
                //读取本地文件
                obj.preview(function (index, file, result) {
                    var tr = $([''
                        , '' + file.name + ''
                        , '' + (file.size / 1014).toFixed(1) + 'kb'
                        , '
' , '' , '重传' , '删除' , '' , ''].join('')); //单个重传 tr.find('.demo-reload').on('click', function () { obj.upload(index, file); }); //删除 tr.find('.demo-delete').on('click', function () { delete files[index]; //删除对应的文件 tr.remove(); uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选 }); that.elemList.append(tr); element.render('progress'); //渲染新加的进度条组件 }); } , done: function (res, index, upload) { //成功的回调 var that = this; console.log(res); if (res.code == 0) { //上传成功 var tr = that.elemList.find('tr#upload-' + index), tds = tr.children(); tds.eq(3).html(''); //清空操作 delete this.files[index]; //删除文件队列已经上传成功的文件 return; } this.error(index, upload); } , allDone: function (obj) { //多文件上传完毕后的状态回调 var json = JSON.stringify(obj); console.log(json); } , error: function (index, upload) { //错误回调 var that = this; var tr = that.elemList.find('tr#upload-' + index) , tds = tr.children(); tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传 } , progress: function (n, elem, e, index) { element.progress('progress-demo-' + index, n + '%'); //执行进度条。n 即为返回的进度百分比 } }); });
后端PHP
            
关注
打赏
1661217259
查看更多评论
0.0527s