前端批量下载文件以较友好的形式下载

1.最近遇到一个需求,需要多选文件后实现下载,这里采用的是不打包形式。
2.vue前端下载文件一般都是直接新开一个窗口下载,但是这样会有一瞬间的闪屏,即开窗口关窗口这一瞬间的闪屏
3.于是采用js创建a标签实现无闪烁下载
直接写一个for循环,把file的url传入下载方法即可
下载方法代码如下:

async downloadFile(url) { 
try { let a = document.createElement("a"); 
// 创建a标签 
let e = document.createEvent("MouseEvents"); 
// 创建鼠标事件对象 
e.initEvent("click", false, false); 
// 初始化事件对象 
a.href = url; 
// 设置下载地址
a.download = ""; 
// 设置下载文件名 
a.dispatchEvent(e); 
}catch(e){ 
alert(e)
 }
  },

如果大家想压缩后再下载也可以,回去看我写的这篇文章就可以了
亲测可用,java+vue压缩及下载zip


版权声明:本文为huangwen001原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。