溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

SpringBoot如何重寫(xiě)addResourceHandlers映射文件路徑

發(fā)布時(shí)間:2022-02-24 09:19:49 來(lái)源:億速云 閱讀:1072 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“SpringBoot如何重寫(xiě)addResourceHandlers映射文件路徑”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“SpringBoot如何重寫(xiě)addResourceHandlers映射文件路徑”文章能幫助大家解決問(wèn)題。

重寫(xiě)addResourceHandlers映射文件路徑

在看一個(gè)博客源碼發(fā)現(xiàn)頁(yè)面的圖片所映射的地址在SpringBoot靜態(tài)資源文件夾下找不到原來(lái)在這里是通過(guò)下面這段代碼,將/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,重寫(xiě)addResourceHandlers(ResourceHandlerRegistry registry)方法

  • addResourceHandler():添加的是訪問(wèn)路徑

  • addResourceLocations():添加的是映射后的真實(shí)路徑,映射的真實(shí)路徑末尾必須加 / ,不然映射不到,這個(gè)問(wèn)題困擾了我半天, / 適用于 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: 訪問(wèn)靜態(tài)文件
     * @date: 2021/4/15
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //訪問(wèn)路徑
        registry.addResourceHandler("/api/upload/**")
                //映射真實(shí)路徑
                .addResourceLocations("file:" + System.getProperty("user.dir") + "/");//必須加"/",不然映射不到  
    }
}

System.getProperty(“user.dir”) 是當(dāng)前項(xiàng)目路徑

SpringBoot如何重寫(xiě)addResourceHandlers映射文件路徑

成功訪問(wèn)如下

SpringBoot如何重寫(xiě)addResourceHandlers映射文件路徑

關(guān)于“SpringBoot如何重寫(xiě)addResourceHandlers映射文件路徑”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI