Springboot开启静态资源,开启WebFlux静态资源访问路径
1、问题描述
- 在项目中,图片、word、pdf等静态资源文件访问时,需要开启静态资源,让访问不拦截。
- 尝试了网上各种springboot开启静态资源的方案,都无法解决项目中开启静态资源的。
2、 解决方法
研究发现,自己的springboot项目中使用了spring webflux,在WebFlux的配置类中放开静态资源即可访问。
在WebFluxConfigurer配置类的实现类中重写addResourceHandlers方法,实现静态资源开放
public class WebFluxSwaggerConfiguration implements WebFluxConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//开启 D:/picture/为静态资源,通过/myPic/** 可以访问静态资源
registry.addResourceHandler("/myPic/**").addResourceLocations("file:D:/picture/");
//swagger-ui的静态资源
registry.addResourceHandler("/swagger-ui/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
.resourceChain(false);
}
}
addResourceHandler():开放静态资源访问的http访问路径(入口)
addResourceLocations():开发静态资源访问的本地路径(目的地)