springboot版本 : 2.10
前言:
springboot当中可以通过使用代码或者yml文件直接配置静态资源访问操作
一般的静态资源配置是针对于classpath和file(相对路径和绝对路径)
这里我就直接将代码的,相关的yml的配置方式可以百度(额,自己使用配置文件的方式没有成功,所以使用了代码的方式)
直接上代码
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author dengg
*/
@Configuration
public class StaticResourceConfig implements WebMvcConfigurer {
@Autowired
private UploadConfig uploadConfig;
/**
* 注册静态文件的自定义映射路径
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//定义到硬盘
registry.addResourceHandler("/apply/**")
.addResourceLocations("file:"+uploadConfig.getApplyDir()+"/").resourceChain(false);
//定义到相对路径
registry.addResourceHandler("/material/**")
.addResourceLocations("classpath:/material_sample/").resourceChain(false);
}
}
注意,记得要将
resourceChain(false)
设置成false
,否则会文件覆盖后,访问静态资源不刷新的问题。
网友评论