response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
后端已经设置了响应头"Content-Disposition",前端console打印却获取不到。
是因为浏览器的安全策略会隐藏一些响应头来保证安全,因此要想前端获取的到指定的响应头。
如在nginx代理后端接口的地方,添加个add_header
location / {
proxy_pass '后端地址:端口号';
add_header ‘响应头属性’ application/json;
}
这样这些个响应头属性就会被前端获取得到。
还可以在response中设置一些浏览器隐藏的响应头允许它对外暴露。
response.setHeader("Access-Control-Expose-Headers", "响应头属性1", "响应头属性2");