springboot如何通過URL方式訪問外部資源
springboot通過URL方式訪問外部資源
遇到這個問題時翻閱百度,無外乎就是兩種方式
第一種
在springboot 2.1.8中該方法已過時
第二種
這個方法是可以實現通過url訪問到指定目錄下的文件,但是使用spring.resources.static-locations這個配置會覆蓋掉SpringBoot默認的靜態資源文件夾,項目的靜態資源全都無法訪問,而spring.mvc.static-path-pattern 默認值就是/** 無須配置。
解決方法,在spring.resources.static-locations 加入自定義要訪問的文件夾路徑,必須是file:開頭,並且加上默認的四個靜態資源路徑就可以訪問項目和自定義靜態資源瞭。
自定義靜態資源路徑為D:file/
spring那裡報錯是因為上面已經存在spring層,這裡加上為瞭方便演示
自定義靜態資源文件夾下的文件
通過url訪問下載.JPG這張圖片
同時項目也能訪問到
springboot通過URL訪問本地文件
@Configuration public class MyWebMvcConfigurer extends WebMvcConfigurationSupport { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 訪問相對路徑 registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets/"); // 訪問絕對路徑 訪問路徑和 存放路徑可以自定義,建議存放路徑放到配置文件中 registry.addResourceHandler("/img/**").addResourceLocations("file:D:/img/"); super.addResourceHandlers(registry); } }
localhost:8080/assets/文件名.後綴 localhost:8080/img/文件名.後綴
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 使用springboot訪問圖片本地路徑並映射成url
- SpringBoot重寫addResourceHandlers映射文件路徑方式
- SpringBoot本地磁盤映射問題
- springboot文件虛擬路徑映射方式
- SpringBoot通過源碼探究靜態資源的映射規則實現