zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    大数据概述
    语法分析-代码
    语法分析-C语言程序
    Hadoop综合大作业
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
    爬虫大作业
    熟悉常用的HDFS操作
    数据结构化与保存
  • 原文地址:https://www.cnblogs.com/lkwkk/p/15590427.html
Copyright © 2011-2022 走看看