springboot配置静态文件路径
最近有一个springboot项目,需要上传图片,然后页面会引用图片,图片上传位置是项目的static目录下,这样的话,后期维护很麻烦(每次更新项目上传的图片就没有了),如果不将图片上传到项目的static文件夹下的话,页面又访问不到?。通过配置指向项目外路径的话其他静态资源又访问不到,可以直接配置两个路径(其中在配置文件application.yml中配置可以配置多路径,但是没有效果,查资料说使用idea开发Spring Boot应用时(我使用的idea开发的),浏览器、编辑器不能同时访问js等资源,所以只能使用在java中配置。)然后查了好多资料找到一种解决方法:
解决方法
在Java代码中覆盖默认静态资源配置。
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurationSupport {
/** 静态资源处理 **/
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
/** 这块调用两次addResourceLocations方法,第二次调用是本文精髓所在,我灵机一动发现的?**/
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/").addResourceLocations("file:C:/upload/");
}
}
小白第一次写博客写得不好请大家谅解。