ResponseEntity免压缩多文件下载

ResponseEntity免压缩多文件下载

免压缩批量文件下载

后台ResponseEntity代码还是一次请求下载一个
前台js改为发出多个请求

js中先用数组储存需要下载的文件参数信息,然后循环数组执行下载方法,下载方法则先ajax判断文件是否存在,是则动态创建a标签批量下载文件

//获得文件数组ids后 循环下载方法
$.each(ids,function(i,value){    	
   	downLoad(fileFunctionPathArray[i],fileNameInServerArray[i],fileOriginalNameArray[i],ids[i]);
    })
//下载方法
function downLoad(fileFunctionPath,fileNameInServer,fileOriginalName,ids){
            $.ajax({
            	//检查文件是否存在
                url: "/ResourceManage/resourceDownloaduserLink/checkPermission",
                data: {
                    sysuserid: localStorage.getItem("id"),
                    resourceid: ids
                },
                success: function (data) {//文件存在则创建动态a标签批量下载文件
                    if (data.success) {
                    //ResponseEntity下载文件的url
                    	var url = "../filehandle/downLoad.do?filePlatPath=" 
                        	+ "resource&fileFunctionPath=" + fileFunctionPath 
                        	+ "&fileNameInServer=" + fileNameInServer
                        	+ "&fileOriginalName=" + fileOriginalName;
                    	var fileName = fileNameInServer;
                    	
                    	downloadFile(url,fileName);//动态创建a标签 批量下载
                    }
                }
            })
        }

		//动态创建a标签
        const downloadFile = (url, fileName = '') => {
  		  let eleLink = document.createElement('a');
  		  eleLink.download = fileName;
  		  eleLink.style.display = 'none';
  		  eleLink.href = url;
  		  // 受浏览器安全策略的因素,动态创建的元素必须添加到浏览器后才能实施点击
  		  document.body.appendChild(eleLink);
  		  // 触发点击  
  		  eleLink.click();
  		  // 然后移除
  		  document.body.removeChild(eleLink);
  		};

点击下载则会 批量同时下载

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值