spring boot 自定義規則訪問獲取內部或者外部靜態資源圖片的方法

這篇文章主要介紹了spring boot 自定義規則訪問獲取內部或者外部靜態資源圖片的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

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

springboot默認的配置規則

映射 /** 到

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

到本地文件路徑也就是 resource/static/ 下面

訪問時可以:localhost:8080/+資源路徑+資源名

例如我的項目結構!

此時我訪問的靜態資源爲:

localhost:8080/js/jquery.min.js

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

localhost:8080/jquery.min.js

但現在需要自定義映射規則:

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

1 基於配置文件

#配置內部訪問地址和外部圖片訪問地址 /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:D://User/").addResourceLocations("classpath:/static/");
    super.addResourceHandlers(registry);
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章