• 11月22文件上传的前端代码


    <div class="layui-upload">
    <div class="layui-upload-drag" id="testList">
    <i class="layui-icon"></i>
    <p>点击上传,或将文件拖拽到此处</p>
    </div>
    <div class="layui-upload-list" style="max- 1000px;">
    <table class="layui-table">
    <colgroup>
    <col>
    <col width="150">
    <col width="260">
    <col width="150">
    </colgroup>
    <thead>
    <tr><th>文件名</th>
    <th>大小</th>
    <th>上传进度</th>
    <th>操作</th>
    </tr></thead>
    <tbody id="demoList"></tbody>
    </table>
    </div>
    <button type="button" class="layui-btn" id="testListAction">开始上传</button>
    </div>
    js:
    <script src="assets/js/layui.js" charset="utf-8"></script>
    <!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
    <script>
    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: '${pageContext.request.contextPath}/UploadServlet'
    ,data: {i1:1}//此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
    ,accept: 'file'
    ,multiple: true
    ,number: 3
    ,auto: false
    ,bindAction: '#testListAction'
    //,data: {i1:+Integer.parseInt(request.getParameter("i"))}
    ,choose: function(obj){
    var that = this;
    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-demo-'+ 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);
    });

    //删除
    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;
    if(res.code == 0){ //上传成功
    var tr = that.elemList.find('tr#upload-'+ index)
    ,tds = tr.children();
    tds.eq(3).html(''); //清空操作
    delete this.files[index];
    alert("成功");
    window.location = "message.jsp"//删除文件队列已经上传成功的文件
    return;
    }
    this.error(index, upload);
    }
    ,allDone: function(obj){ //多文件上传完毕后的状态回调
    console.log(obj)
    }
    ,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');
    window.location="fail.jsp";

    }
    ,progress: function(n, elem, e, index){ //注意:index 参数为 layui 2.6.6 新增
    element.progress('progress-demo-'+ index, n + '%'); //执行进度条。n 即为返回的进度百分比
    }
    });
    });
    </script>
  • 相关阅读:
    Ubuntu 14.04/16.04/18.04安装最新版Eigen3.3.5
    Ubuntu16.04系统安装谷歌浏览器(Google chorm)
    Anaconda3(6)安装opencv
    Ubuntu 16.04 几个国内更新源
    Anaconda3(4-1)ubuntu1604安装pytorch
    Anaconda3(5-3)ubuntu1604安装pycharm
    无人机姿态定位
    Ubuntu16.04--安装Anaconda
    Airsim(1)安装配置win10-vs2015-cuda10-opencv394+扩展版版本+cmake
    cuda加速拼接
  • 原文地址:https://www.cnblogs.com/lkwkk/p/15590427.html
Copyright © 2020-2023  润新知