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類才生效
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。
原文地址:https://blog.csdn.net/junmoxi/article/details/80812457