前端 vue 后端SpringBoot 前后端分离架构
涉及到文件下载的功能,因某些限制因素前端文件下载时会传入的文件名会有特殊符号问题.
使用post请求会跨域. 只好用 打开新窗口方式的 get 请求.
但是 get 请求url中就会存在 特殊符号
而 Tomcat 使用的是Springboot内置的Tomcat.
解决方法:
在 springboot的启动类中添加下面代码:
// tomcat 特殊符号处理
@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
connector.setProperty("relaxedQueryChars", "|{}[]\\");
connector.setProperty("relaxedPathChars", "|{}[]\\");
});
return factory;
}