SpringBoot如何訪問(wèn)本地圖片
SpringBoot訪問(wèn)本地圖片
SpringBoot映射本地圖片,外界可通過(guò)網(wǎng)絡(luò)路徑訪問(wèn)該圖片
在工作中,我們會(huì)把圖片保存到服務(wù)器本地,比如E盤的某個(gè)目錄下。然后前端image標(biāo)簽的src屬性,填寫網(wǎng)絡(luò)路徑即可訪問(wèn)到該圖片,這該如何配置呢?
有兩種方法,請(qǐng)繼續(xù)往下看:
1.第一種方法
我們可以修改application.yml文件,添加如下代碼:
spring: mvc: static-path-pattern: /image/** #使用了此方式后,默認(rèn)靜態(tài)訪問(wèn)路徑會(huì)失效,默認(rèn)路徑如下 #classpath:/META-INF/resources/, #classpath:/resources/, #classpath:/static/, #classpath:/public/ resources: static-locations: file:E:/picture/
上面配置的意思是指,當(dāng)我們?cè)L問(wèn)項(xiàng)目的image路徑時(shí),就會(huì)映射到本地E盤的picture目錄下。
假設(shè)在E盤的picture目錄下有張test.png圖片(這個(gè)圖片可能是你的業(yè)務(wù)上傳后保存的),那么我們通過(guò)http://127.0.0.1:8080/image/test.png 就可以訪問(wèn)到這張圖片。
上述方法有個(gè)弊端,在某些場(chǎng)景下,可能會(huì)無(wú)效,比如你的項(xiàng)目中寫了某些過(guò)濾器等原因。另外,使用yml配置,也會(huì)使你靜態(tài)訪問(wèn)路徑失效,要注意。
2.如果第一種方法在你的項(xiàng)目中不起作用
那你可以嘗試第二種方法,代碼如下:
/** * @作者 yangs * @日期 2021/9/25 * @描述 配置映射關(guān)系,可通過(guò)網(wǎng)絡(luò)路徑訪問(wèn)本地文件 */ @Configuration public class WebConf extends WebMvcConfigurationSupport { @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { //映射static路徑的請(qǐng)求到static目錄下 // 靜態(tài)資源訪問(wèn)路徑和存放路徑配置 //registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); // swagger訪問(wèn)配置 registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/", "classpath:/META-INF/resources/webjars/"); //通過(guò)image訪問(wèn)本地的圖片 registry.addResourceHandler("/image/**").addResourceLocations("file:E:/picture/"); } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java java.lang.ExceptionInInitializerError 錯(cuò)誤如何解決
這篇文章主要介紹了 Java java.lang.ExceptionInInitializerError 錯(cuò)誤如何解決的相關(guān)資料,需要的朋友可以參考下2017-06-06淺談SpringBoot集成Redis實(shí)現(xiàn)緩存處理(Spring AOP實(shí)現(xiàn))
這篇文章主要介紹了淺談SpringBoot集成Redis實(shí)現(xiàn)緩存處理(Spring AOP實(shí)現(xiàn)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Object.wait()與Object.notify()的用法詳細(xì)解析
以下是對(duì)java中Object.wait()與Object.notify()的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-09-09Java?數(shù)據(jù)庫(kù)連接池DBPool?介紹
這篇文章主要給大家分享了Java?數(shù)據(jù)庫(kù)連接池DBPool?介紹,<BR>DBPool是一個(gè)高效的易配置的數(shù)據(jù)庫(kù)連接池。它除了支持連接池應(yīng)有的功能之外,還包括了一個(gè)對(duì)象池使你能夠開發(fā)一個(gè)滿足自已需求的數(shù)據(jù)庫(kù)連接池,下面一起來(lái)看看文章內(nèi)容的詳細(xì)介紹吧,需要的朋友可以參考一下2021-11-11SpringBoot2入門自動(dòng)配置原理及源碼分析
這篇文章主要為大家介紹了SpringBoot2入門自動(dòng)配置原理及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05JAVA設(shè)計(jì)模式零基礎(chǔ)解析之單例模式的八種方式
設(shè)計(jì)模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性2021-10-10