今天在和前端联调时,出现了一个跨域错误。
但是其他接口又没有问题,先检查导出接口:
再检查通用跨域配置:
看着都没错,查看文件流代码:
陡然看到一行
response.reset();
原来是response.reset()重置了响应,导致前端无法下载并报跨域问题。于是尝试在reset()下面加上这几行代码,就可以解决跨域问题了
//重新设置接口允许跨域
if (SystemHelper.isProdEnv()) {
response.addHeader("Access-Control-Allow-Origin", "https://xxxxx.cn");
}else {
// 非线上环境允许跨域
response.addHeader("Access-Control-Allow-Origin", "*");
}