导出优化--下载进度条设计开发

本文介绍了如何设计并开发一个下载进度条功能。针对需求,通过在后端保存下载对象,并由前端定时访问获取进度信息,更新前端进度条展示。详细讲述了前端、Controller核心代码及工具类的实现方法。
摘要由CSDN通过智能技术生成

下载进度条

需求

下载时数据多不清楚大概下载饿多少或者是否正在下载?
添加下载进度条。

思路

success保存下载对象,将进度保存到success,前端在下载得同时,每固定时间访问success,将对象得值取出来数据处理。写到进度条里边进行展示。

代码

前端
var trueType = false;
    // var num=1; //如果是0,不访问后台session,1访问后台session
    function openForm(){
        if(trueType){
            setTimeout(openForm,200);
        }
        $.ajax({
            type: 'get',
            async:false,
            url:serverPath +"/ptnUploadDownload/getSession/"+1,
            success: function (data) {
                //正在查询数据...
                //
                // "共"+polPolicyList.size()+"条数据,"+"正在导出第"+i+1+"条数据。"
                //正在写入excel表中。
                if(data!=null && data!=""){
                    if(data.content){
                        if(data.content=="正在查询数据..."){
                            $("#progressBar3").text(data.content);
                        }else if(data.content.includes("正在查询数据...,")){
                            var content_array=data.content.split(',');
                            var newsumStr = "";
                            for(var i=0;i<content_array.length;i++){
                                if(i==1) newsumStr=content_array[i];
                            }
                            $("#progressBar2").text(newsumStr+"%");
                            document.getElementById("progressBar1").style.width=newsumStr+"%";
                            $("#progressBar3").text("正在查询数据...");
                        }else if(data.content=="正在写入excel表中。"){
                            $("#progressBar3").text(data.content);
                            $("#progressBar2").text("100%");
                            document.getElementById("progressBar1").style.width="100%";
                            // num=0;
                            layer.closeAll();
                            $("#progressBar3").text("开始处理数据....");
                            $("#progressBar2").text("0%");
                            document.getElementById("progressBar1").style.width="0%";
                            trueType = false;
                            $.ajax({
                                type: 'get',
                                async:false,
                                url:serverPath +"/ptnUploadDownload/getSession/"+0,
                                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值