vue+axios+blob导出excel

您所在的位置:网站首页 文件已经损坏或不安全 vue+axios+blob导出excel

vue+axios+blob导出excel

2024-01-14 04:35| 来源: 网络整理| 查看: 265

1.接口部分

注意点1:此处直接resolve(response),而不是(response.data),因为数据处理部分需要拿到后端放在header里面的文件名fileName

注意点2:需要写responseType: 'blob',而且位置放在data同级的对象里,如下图,不然下载后的文件打不开,提示文件损坏

export const apiExportCusGroup = params => { return new Promise((resolve, reject) => { instance.post( baseApi+'/api/console/customer/customerExport', { customerIds: params.customerIds, }, { responseType: 'blob', } ) .then(response => { resolve(response) }) .catch(error => { reject(error) }) }) }   2.数据处理部分 apiExportCusGroup(formData).then(response => { const link = document.createElement('a'); let blob = new Blob([response.data], {type: 'application/vnd.ms-excel'}); link.style.display = 'none'; link.href = URL.createObjectURL(blob);//创建url对象 link.download = response.headers['content-disposition'].substr(20); //下载后文件名 document.body.appendChild(link); link.click(); document.body.removeChild(link); URL.revokeObjectURL(link.href);//销毁url对象 }).catch(err => { console.log(err); })

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3