您好,登錄后才能下訂單哦!
這篇文章主要介紹“SpringBoot如何重寫addResourceHandlers映射文件路徑”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SpringBoot如何重寫addResourceHandlers映射文件路徑”文章能幫助大家解決問題。
在看一個博客源碼發現頁面的圖片所映射的地址在SpringBoot靜態資源文件夾下找不到原來在這里是通過下面這段代碼,將/store/**地址映射為getStorePath()得到的地址
registry.addResourceHandler("/store/**").addResourceLocations(getStorePath());
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/dist/**").addResourceLocations("classpath:/static/dist/"); registry.addResourceHandler("/theme/**").addResourceLocations("classpath:/static/theme/"); registry.addResourceHandler("/store/**").addResourceLocations(getStorePath()); super.addResourceHandlers(registry); }
實現 WebMvcConfigurer,重寫addResourceHandlers(ResourceHandlerRegistry registry)方法
addResourceHandler()
:添加的是訪問路徑
addResourceLocations()
:添加的是映射后的真實路徑,映射的真實路徑末尾必須加 / ,不然映射不到,這個問題困擾了我半天, / 適用于 windows和linux
如下:
package cn.mindgd.config; import org.springframework.context.annotation.Bean; 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; /** * 攔截器配置 */ @Configuration public class InterceptorConfig implements WebMvcConfigurer { /** * @author: JiaXinMa * @description: 訪問靜態文件 * @date: 2021/4/15 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //訪問路徑 registry.addResourceHandler("/api/upload/**") //映射真實路徑 .addResourceLocations("file:" + System.getProperty("user.dir") + "/");//必須加"/",不然映射不到 } }
System.getProperty(“user.dir”) 是當前項目路徑
關于“SpringBoot如何重寫addResourceHandlers映射文件路徑”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。