接受要以blob的方式,这是细节也是重点,这里贴出一个method的实现
exportSelectZip() {
const totalSelectPicList = this.pictureOfSelectBookList.join("&xxx");
axios
.get("xxx" + totalSelectPicList, {
responseType: "blob",
})
.then((response) => {
let blob = new Blob([response.data], { type: "application/zip" });
let url = window.URL.createObjectURL(blob);
const link = document.createElement("a"); // 创建a标签
link.href = url;
link.download = "pic.zip"; // 重命名文件
link.click();
URL.revokeObjectURL(url); // 释放内存
})
.catch(function (err) {
console.log(err);
});
},
responseType: “blob”,十分重要,这里其实是创建了一个a标签并自动点击实现下载功能,并且做到了及时释放内存。