SpringBoot重寫addResourceHandlers映射文件路徑方式
重寫addResourceHandlers映射文件路徑
在看一個(gè)博客源碼發(fā)現(xiàn)頁(yè)面的圖片所映射的地址在SpringBoot靜態(tài)資源文件夾下找不到原來在這里是通過下面這段代碼,將/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); ? ? }
配置本地資源映射路徑 addResourceHandlers
實(shí)現(xiàn) WebMvcConfigurer,重寫addResourceHandlers(ResourceHandlerRegistry registry)方法
addResourceHandler()
:添加的是訪問路徑addResourceLocations()
:添加的是映射后的真實(shí)路徑,映射的真實(shí)路徑末尾必須加 / ,不然映射不到,這個(gè)問題困擾了我半天, / 適用于 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: 訪問靜態(tài)文件 * @date: 2021/4/15 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //訪問路徑 registry.addResourceHandler("/api/upload/**") //映射真實(shí)路徑 .addResourceLocations("file:" + System.getProperty("user.dir") + "/");//必須加"/",不然映射不到 } }
System.getProperty(“user.dir”) 是當(dāng)前項(xiàng)目路徑
成功訪問如下
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springcloud引入spring-cloud-starter-openfeign失敗的解決
這篇文章主要介紹了springcloud?引入spring-cloud-starter-openfeign失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03spring cloud學(xué)習(xí)教程之config修改配置詳解
這篇文章主要給大家介紹了關(guān)于spring cloud學(xué)習(xí)教程之config修改配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09Java?SpringBoot項(xiàng)目如何優(yōu)雅的實(shí)現(xiàn)操作日志記錄
這篇文章主要介紹了Java?SpringBoot項(xiàng)目如何優(yōu)雅的實(shí)現(xiàn)操作日志記錄,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08Java中IO流使用FileWriter寫數(shù)據(jù)基本操作詳解
這篇文章主要介紹了Java中IO流FileWriter寫數(shù)據(jù)操作,FileWriter類提供了多種寫入字符的方法,包括寫入單個(gè)字符、寫入字符數(shù)組和寫入字符串等,它還提供了一些其他的方法,如刷新緩沖區(qū)、關(guān)閉文件等,需要的朋友可以參考下2023-10-10Java源碼難點(diǎn)突破Lambda表達(dá)式執(zhí)行原理
這篇文章主要為大家介紹了Java難點(diǎn)突破Lambda表達(dá)式執(zhí)行原理分析及示例的實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03學(xué)習(xí)Java的static與final關(guān)鍵字
本篇文章給大家詳細(xì)分析了Java的static與final關(guān)鍵字知識(shí)點(diǎn)以及相關(guān)代碼分享,有需要的讀者跟著學(xué)習(xí)下吧。2018-03-03關(guān)于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務(wù)傳輸
這篇文章主要介紹了關(guān)于springboot 中使用httpclient或RestTemplate做MultipartFile文件跨服務(wù)傳輸?shù)膯栴},本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01