欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot 項(xiàng)目中的圖片處理策略之本地存儲(chǔ)與路徑映射

 更新時(shí)間:2023年12月09日 15:03:25   作者:會(huì)飛的喵喵  
在SpringBoot項(xiàng)目中,靜態(tài)資源存放在static目錄下,使得前端可以通過(guò)URL來(lái)訪問(wèn)這些資源,我們就需要將文件系統(tǒng)的文件路徑與URL建立一個(gè)映射關(guān)系,把文件系統(tǒng)中的文件當(dāng)成我們的靜態(tài)資源即可,本文給大家介紹SpringBoot本地存儲(chǔ)與路徑映射的相關(guān)知識(shí),感興趣的朋友一起看看吧

一、前言

  在做網(wǎng)頁(yè)的時(shí)候,會(huì)經(jīng)常遇到一個(gè)問(wèn)題,那就是如何在前端訪問(wèn)圖片,還有就是圖片應(yīng)該如何存?存在數(shù)據(jù)庫(kù),然后直接把文件發(fā)給前端?數(shù)據(jù)庫(kù)表示:“哥們你可真行,我快裝不下了”。比較好一點(diǎn)的做法就是把圖片存在本地*(ps:這里不考慮云存儲(chǔ))*,然后數(shù)據(jù)庫(kù)存該文件的路徑。這樣一來(lái)前端如何訪問(wèn)這個(gè)文件呢?我們都知道在SpringBoot項(xiàng)目中,靜態(tài)資源都存放在static目錄下,使得前端可以通過(guò)URL來(lái)訪問(wèn)這些資源,現(xiàn)在我們就需要將文件系統(tǒng)的文件路徑與 URL 建立一個(gè)映射關(guān)系,把文件系統(tǒng)中的文件當(dāng)成我們的靜態(tài)資源即可。下面開(kāi)始演示:

二、演示

  本篇的重點(diǎn)是如何通過(guò) URL 來(lái)訪問(wèn)服務(wù)器的文件系統(tǒng)中的文件,這里就不使用數(shù)據(jù)庫(kù)了。

  • 我們創(chuàng)建一個(gè)SpringBoot項(xiàng)目,依賴如下:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  • static目錄下,我們可以直接通過(guò) URL 來(lái)訪問(wèn),該目錄下有一個(gè)/image/avatar.png文件

我們現(xiàn)在的目標(biāo)是:假設(shè)在D/image目錄下有一個(gè)圖片,如何直接通過(guò)URL來(lái)訪問(wèn)本地文件呢?

  • application.properties配置文件中定義圖片存放的位置
# 圖片保存路勁
imagepath=D:/image/
  • 創(chuàng)建一個(gè)類實(shí)現(xiàn)WebMvcConfigurer接口并重寫addResourceHandlers方法。
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
    @Value("${imagepath}")
    private String imagePath;//從配置文件中獲取文件路徑
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/image/**")
                .addResourceLocations("file:" + imagePath);
    }
}
  • addResourceHandler("/image/**"):定義了一個(gè)URL模式,即以 "/image/" 開(kāi)頭的請(qǐng)求路徑。任何匹配該模式的請(qǐng)求都將被映射到相應(yīng)的靜態(tài)資源。
  • .addResourceLocations("file:" + imagepath):指定了實(shí)際存儲(chǔ)靜態(tài)資源的文件系統(tǒng)路徑,"file:" 前綴告訴Spring MVC,這是一個(gè)文件系統(tǒng)路徑。
  • 這段代碼的作用是告訴Spring MVC,當(dāng)接收到以 "/image/" 開(kāi)頭的請(qǐng)求時(shí),去指定的文件系統(tǒng)路徑imagepath(D/image/)查找對(duì)應(yīng)的靜態(tài)資源。例如:當(dāng)請(qǐng)求 "/image/test.jpg" 時(shí),Spring MVC 將會(huì)嘗試在 "D/image/" 目錄下查找并返回 "test.jpg" 這個(gè)文件作為響應(yīng)。
  • "D/image/"下保存一個(gè)圖片

  • 訪問(wèn)http://localhost:8080/image/test.png

  可以看到映射成功了,其實(shí)在數(shù)據(jù)庫(kù)中存的就是"/image/"+imageName。如果你要將項(xiàng)目部署到Linux服務(wù)器上,需要把文件目錄修改成Linux系統(tǒng)的,比如:

imagepath=/root/soft/images/

到此這篇關(guān)于SpringBoot 項(xiàng)目中的圖片處理策略:本地存儲(chǔ)與路徑映射的文章就介紹到這了,更多相關(guān)SpringBoot 本地存儲(chǔ)與路徑映射內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Java多態(tài)對(duì)象的類型轉(zhuǎn)換與動(dòng)態(tài)綁定

    詳解Java多態(tài)對(duì)象的類型轉(zhuǎn)換與動(dòng)態(tài)綁定

    這篇文章主要介紹了詳解Java多態(tài)對(duì)象的類型轉(zhuǎn)換與動(dòng)態(tài)綁定,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作

    SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作

    驗(yàn)證碼登錄是非常常見(jiàn)的一種登錄方式,能夠簡(jiǎn)化用戶登錄的過(guò)程,本文主要介紹了SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • Spring Data的Domain Event的用法詳解

    Spring Data的Domain Event的用法詳解

    這篇文章主要介紹了Spring Data的Domain Event的用法詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Kotlin lateinit與by lazy案例詳解

    Kotlin lateinit與by lazy案例詳解

    這篇文章主要介紹了Kotlin lateinit與by lazy案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空

    SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空

    SpringBoot整合Mybatis-plus使用關(guān)鍵詞模糊查詢的時(shí)候,數(shù)據(jù)庫(kù)中有數(shù)據(jù),但是無(wú)法查找出來(lái),本文就來(lái)介紹一下SpringBoot整合Mybatis-plus關(guān)鍵詞模糊查詢結(jié)果為空的解決方法
    2025-04-04
  • Java虛擬機(jī)調(diào)用Java主類的main()方法

    Java虛擬機(jī)調(diào)用Java主類的main()方法

    這篇文章主要介紹了Java虛擬機(jī)調(diào)用Java主類的main()方法,前一篇文章我們介紹了關(guān)于Java虛擬機(jī)HotSpot
    2021-11-11
  • 淺談Java中String的常用方法

    淺談Java中String的常用方法

    今天帶大家來(lái)復(fù)習(xí)一下Java中String的常用方法,文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Java 接口和抽象類的區(qū)別詳解

    Java 接口和抽象類的區(qū)別詳解

    在面向?qū)ο缶幊讨?,抽象類和接口是兩個(gè)經(jīng)常被用到的語(yǔ)法概念,是面向?qū)ο笏拇筇匦裕约昂芏嘣O(shè)計(jì)模式、設(shè)計(jì)思想、設(shè)計(jì)原則編程實(shí)現(xiàn)的基礎(chǔ)。本文將主要講解二者的區(qū)別
    2021-05-05
  • 全排列算法-遞歸與字典序的實(shí)現(xiàn)方法(Java)

    全排列算法-遞歸與字典序的實(shí)現(xiàn)方法(Java)

    下面小編就為大家?guī)?lái)一篇全排列算法-遞歸與字典序的實(shí)現(xiàn)方法(Java) 。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • EasyUi+Spring Data 實(shí)現(xiàn)按條件分頁(yè)查詢的實(shí)例代碼

    EasyUi+Spring Data 實(shí)現(xiàn)按條件分頁(yè)查詢的實(shí)例代碼

    這篇文章主要介紹了EasyUi+Spring Data 實(shí)現(xiàn)按條件分頁(yè)查詢的實(shí)例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-07-07

最新評(píng)論