问题解决:
参考:https://blog.youkuaiyun.com/qq_35387940/article/details/108843878
解决前:服务器需要重启重新部署才能访问到上传的文件
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/webjars/**")) {
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
}
// String path = System.getProperty("user.dir") + "\\src\\main\\resources\\static\\upload\\";
if (!registry.hasMappingForPattern("/upload/**")) {
registry.addResourceHandler("/upload/**").addResourceLocations(
"classpath:/upload/");
}
if (!registry.hasMappingForPattern("/**")) {
registry.addResourceHandler("/**").addResourceLocations(
CLASSPATH_RESOURCE_LOCATIONS);
}
}
解决后:
配置类中:设置在resources之下修改路径映射关系,获取文件的绝对路径:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/webjars/**")) {
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
}
// 解决附件上传需要重新部署才能访问到文件的问题
String path = System.getProperty("user.dir") + "/src/main/resources/upload/";
if (!registry.hasMappingForPattern("/upload/**")) {
registry.addResourceHandler("/upload/**").addResourceLocations(
"file:"+path);
}
if (!registry.hasMappingForPattern("/**")) {
registry.addResourceHandler("/**").addResourceLocations(
CLASSPATH_RESOURCE_LOCATIONS);
}
}
上传后立马就可以访问: