JS使用BLOB方式下载Excel导致文件损坏的问题解决

Java90

这两天写一个后台生成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' 后,问题解决,如下所示:

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长