前端处理后端返回的文件流,导出为PDF文件下载,下载后提示“文件已损坏”,不知道问题出在哪
下图是发请求时的代码,用的axios库
下图是响应回来的数据输出
1.首先后端先跑测试文件,保证生成的PDF没有问题。
2.其次在通过浏览器去直接访问链接,保证PDF可以下载
3.在查看前端设置的头是不是blob
/**
* 请求的时候加上responseType = blob
*/
axios.interceptors.request.use(
config => {
if (config.method === 'post') {
if(config.url.includes(url.common.filedownload)){
config.responseType = 'blob'; //请求加上responseType
}
}
return config
},
error => {
message.error('请求出错' + error);
return Promise.reject(error);
}
)
请求里是有加上'blob'的,而且导出如果是application/msword可以,换成pdf就打不开了,提示文件被损坏