spring boot 自定義規(guī)則訪問獲取內(nèi)部或者外部靜態(tài)資源圖片

項目中需要將圖片放在磁盤上,不能將圖片放在webapp下面!

springboot默認配置基本上可以滿足我們的日常需要
但是項目中大量用戶上傳的圖片,不能放在tomcat下面,這樣子每次重新部署項目的時候,圖片就失效了,很是麻煩。

所以此時就需要自定義配置springboot的項目靜態(tài)文件映射

springboot默認的配置規(guī)則

映射 /** 到

classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources

到本地文件路徑也就是 resource/static/ 下面
訪問時可以:
localhost:8080/+資源路徑+資源名

例如我的項目結(jié)構(gòu)!


在這里插入圖片描述

此時我訪問的靜態(tài)資源為:

localhost:8080/js/jquery.min.js

如果配置 jquery.min.js 直接在static下面 訪問則是

localhost:8080/jquery.min.js

但現(xiàn)在需要自定義映射規(guī)則:

有兩種方法一種是基于配置文件,另一種是基于代碼層面配置。

1 基于配置文件

#配置內(nèi)部訪問地址和外部圖片訪問地址 /myimgs/**
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=file:C:/Users/tizzy/Desktop/img/,classpath:/static/

映射 /** 到 本地磁盤路徑下存放的圖片,和tomcat中的圖片路徑

訪問路徑則是

  localhost:8080/jquery.min.js
  localhost:8080/ 圖片名

2 基于代碼層面配置

@Configuration
public class WebMvcConfiguration extends WebMvcConfigurerAdapter {

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

               //addResourceHandler是指你想在url請求的路徑
               //addResourceLocations是圖片存放的真實路徑

        registry.addResourceHandler("/**").addResourceLocations("file:C:/Users/tizzy/Desktop/img/").addResourceLocations("classpath:/static/");
        super.addResourceHandlers(registry);
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容