SpringBoot访问外部文件及默认路由问题
作者:跟派大星学编程
这篇文章主要介绍了SpringBoot访问外部文件及默认路由问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
SpringBoot访问外部文件及默认路由
1 新增配置类
package com.pibigstar.common.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import com.pibigstar.common.Constant; @Configuration public class WebConfig implements WebMvcConfigurer{ /** * 访问外部文件配置,访问D盘下文件 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //配置server虚拟路径,handler为jsp中访问的目录,locations为files相对应的本地路径 registry.addResourceHandler("/files/**").addResourceLocations("file:///D:upload/"); } /** * 配置默认路由 */ @Override public void addViewControllers(ViewControllerRegistry registry) { //将浏览器的默认行为重定向到主页 registry.addViewController("/").setViewName("redirect:/index.htm"); //测试页面 registry.addViewController("/test.htm").setViewName("/test.jsp"); } }
2 访问
我们将test.jpg文件上传到D盘的upload文件夹后,那么在页面端访问则通过:localhost:8080/files/test.jpg
springboot访问项目外部文件配置及失效问题
springboot映射项目外部资源
配置文件:
cbs: filePath: file:///
配置类:
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; /** * @description:配置访问外部文件 * @author: Administrator * @date: 2019-07-10 16:17 */ @Configuration public class WebConfig extends WebMvcConfigurationSupport { @Value("${cbs.filePath}") private String filePath;//文件地址 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { System.out.println("文件路径=="+filePath); registry.addResourceHandler("/appFile/**").addResourceLocations(filePath); super.addResourceHandlers(registry); } }
地址:http://localhost:8080/appFile/D:/tmp/app/1.txt
访问的时候把 http://localhost:8080/appFile/ 替换成 file:///
也就是file:///D:/tmp/app/1.txt
下面是访问结果(请忽略掉乱码问题)
但是不知道为什么配置类继承WebMvcConfigurerAdapter和实现WebMvcConfigurer 接口都没有用,继承 WebMvcConfigurationSupport类才生效
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。