使用axios下载压缩包的时候;
axios设置:
return {
types: [COMMON_SUCCESS, COMMON_ERROR],
promise: axios.get(`${base}/service_mana/customer/downLoadZip`, {params: option, responseType: 'blob', headers: {Accept: 'application/vnd.openxmlformats-officedocument'}})
};
请求回来的流的处理:
const blob = new Blob([res.res.data], {type: 'application/zip'});
const filename = res.res.headers['content-disposition'];
const downloadElement = document.createElement('a');
const href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href;
[downloadElement.download] = [filename.split('=')[1]];
document.body.appendChild(downloadElement);
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放blob对象
本文详细介绍如何利用axios从服务器下载压缩包,并通过JavaScript处理返回的流数据,实现自动下载功能。文章涵盖axios配置、Blob对象创建、下载链接生成及元素操作等关键步骤。
7019

被折叠的 条评论
为什么被折叠?



