jq 多文件下载,解决只下载最后一个文件的问题

今天有一个选择多个文件,然后一起下载的需求
解决方法:通过setTimeOut,有延时的一个个添加iframe标签,

	wordArr = [1,2,3]    //这里的数据是选中文件的Id,用于拼接地址
	wordArr.forEach(function(item,index){
		// 拼接成后端定义好的单个文件的下载的路径(根据实际情况)
		var path = interUrl.basic + "common/export?templateId=" + item + "&bizId=" + litigationId  
		//使用了闭包,返回的函数能够使用外部的path 
		var timer1 = setTimeout(function(path){
			return function(){
				//定义一个看不见的iframe
				var iframe =$("<iframe class='downloadIfream' src='"+path+"' style='height:0;display:none'></iframe>")
				$("body").append(iframe)
				var timer2 = setTimeout(function(){
					iframe.remove()
					clearTimeout(timer2)
				},5000)  //这个就根据实际情况定义一下延时删除添加的iframe,不删除也问题不大
				clearTimeout(timer1)
			}
		}(path), 1000 * index)  //每隔1s插入一个iframe
	})

单个文件下载:

a标签 模拟点击事件
window.location.href = 下载接口地址
window.open(“下载接口地址”)
都可以实现,比较简单

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值