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。

推薦閱讀: