因为公司后端忙得无法给批量下载的api,就我们前端自己把多张图片打包成zip下载,zip打包我们用的是jszip,下面是js实现下载的三种方法:
- 利用HTML download 属性
var a = document.createElement('a'); //需要下载的数据内容,我这里放的就是BLOB,如果你有下载链接就不需要了 var url = window.URL.createObjectURL(content); var filename = 'XXX.zip'; a.href = url; a.download = filename; a.click(); window.URL.revokeObjectURL(url);
- Window对象
window.location.href = "data:application/zip;"+content
- 别人的库file-saver
saveAs(content, new Date().getTime().toString()+".zip");
不过这种下载方式也有局限性,对文件的大小有限制,最后我分享一款很好用的插件大家参考一下,附上链接如下:
http://blog.ncmem.com/wordpress/2019/08/28/java%e6%89%b9%e9%87%8f%e4%b8%8b%e8%bd%bd/
效果截图: