vue项目批量加载url文件并打包到zip下载
项目里之前是遇到这样一个需求哈,需要根据选择的不同动态批量生成并下载图片,
而且这个图片不是一张一张生成下载,而是要等他选好条件之后,
把对应的图片动态生成后打包到一个zip压缩包里,然后下载,让客户更方便
好吧,我记记我怎么个思路
过程
动态生成图片我之前的博客写到了,在后台生成的可下载。
批量多个的话 那就把这个下载图片的url给存到数组里,
遍历链接使用vue里的axios下载返回的promise对象
得到的所有对象,使用file-saver保存到zip文件下载
安装axios JSZip FileSaver 添加获取Promise的方法
cnpm install -S axios
cnpm install jszip
cnpm install file-saver
方法要写在script标签下面 export外面
<script>
import JSZip from 'jszip'
import FileSaver from 'file-saver'
import axios from 'axios'
const getFile = url => {
return new Promise((resolve, reject) => {
axios({
method:'get',
url,
responseType: 'arraybuffer'
}).then