这两天写一个后台生成Excel返回前端下载的功能,遇到了一个问题,记录一下。
前端点击下载按钮,文档损坏,但是使用Postman调用下载,文档却是正常的。
exportExcel(exportExcelParams.value).then((res: any) => {
let blob = new Blob([res], {
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
});
let link = document.createElement('a');
link.style.display = 'none';
link.href = URL.createObjectURL(blob);
link.download = exportExcelParams.value.expName; //下载的文件名
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
});
在请求方法中加入 responseType: 'blob' 后,问题解决,如下所示: