一开始打算自己看看就行。。结果发现看的人多了起来,还是好好重写一下。。
——————————————————————————————
项目中如果有下载多个文件需求的问题可以尝试以下方法解决
如果要使用请引入layui或者layer
//省略请求后台代码
//假设地址在data中 data = {'urls':['baidu','google']}
//循环后台回传的链接数组
$.each(data.urls, function(index, value) {
layer.open({
type: 2,
shade: false,
resize: true,
offset: 'rb',
icon: 0,
title:'下載中',
//此处time比较关键,弹窗的显示时间不同就可以让文件进行多文件下载,
//但是实际上还是多次请求的后台地址接收文件流
//下载窗口会再次打开,根据下载的文件的大小设定延迟1000ms可以修改
time:1000 * index,
maxmin: true,
//链接地址后台路径
content: "/api/file/downloadFile?path="+value,
success:function(){
layer.closeAll();
layer.msg(res.msg, {
icon: 5,
time: 1500
});
}
});
})
}