设置url数组
const URLS = [{
name: 'cabinet',
url: ''
},
{
name: 'system',
url: ''
},
...
]
循环获取数据,下载文件
for (let i = 0; i < URLS.length; i++) {
let url = URLS[i].url;
let name = URLS[i].name;
fetch(url) // 1) fetch the url
.then(function (response) { // 2) filter on 200 OK
if (response.status === 200 || response.status === 0) {
return Promise.resolve(response.blob());
} else {
return Promise.reject(new Error(response.statusText));
}
})
.then(JSZip.loadAsync) // 3) chain with the zip promise
.then(function (con) {
let files = Object.values(con.files);
for (let j = 0; j < files.length; j++) {
let data = files[j]._data;
zip.file(`${name}/${files[j].name}`, data, {
base64: true,
binary: true,
})
}
//下载文件
zip.generateAsync({
type: "blob"
})
.then(blob => saveAs(blob, 'project'))
.catch(e => console.log(e));
}).catch(()=>{})
}