SpringBoot如何訪問本地圖片
SpringBoot訪問本地圖片
SpringBoot映射本地圖片,外界可通過網絡路徑訪問該圖片
在工作中,我們會把圖片保存到服務器本地,比如E盤的某個目錄下。然后前端image標簽的src屬性,填寫網絡路徑即可訪問到該圖片,這該如何配置呢?
有兩種方法,請繼續(xù)往下看:
1.第一種方法
我們可以修改application.yml文件,添加如下代碼:
spring:
mvc:
static-path-pattern: /image/**
#使用了此方式后,默認靜態(tài)訪問路徑會失效,默認路徑如下
#classpath:/META-INF/resources/,
#classpath:/resources/,
#classpath:/static/,
#classpath:/public/
resources:
static-locations: file:E:/picture/上面配置的意思是指,當我們訪問項目的image路徑時,就會映射到本地E盤的picture目錄下。
假設在E盤的picture目錄下有張test.png圖片(這個圖片可能是你的業(yè)務上傳后保存的),那么我們通過http://127.0.0.1:8080/image/test.png 就可以訪問到這張圖片。
上述方法有個弊端,在某些場景下,可能會無效,比如你的項目中寫了某些過濾器等原因。另外,使用yml配置,也會使你靜態(tài)訪問路徑失效,要注意。
2.如果第一種方法在你的項目中不起作用
那你可以嘗試第二種方法,代碼如下:
/**
* @作者 yangs
* @日期 2021/9/25
* @描述 配置映射關系,可通過網絡路徑訪問本地文件
*/
@Configuration
public class WebConf extends WebMvcConfigurationSupport {
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
//映射static路徑的請求到static目錄下
// 靜態(tài)資源訪問路徑和存放路徑配置
//registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
// swagger訪問配置
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/", "classpath:/META-INF/resources/webjars/");
//通過image訪問本地的圖片
registry.addResourceHandler("/image/**").addResourceLocations("file:E:/picture/");
}
}總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java java.lang.ExceptionInInitializerError 錯誤如何解決
這篇文章主要介紹了 Java java.lang.ExceptionInInitializerError 錯誤如何解決的相關資料,需要的朋友可以參考下2017-06-06
淺談SpringBoot集成Redis實現緩存處理(Spring AOP實現)
這篇文章主要介紹了淺談SpringBoot集成Redis實現緩存處理(Spring AOP實現),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
Object.wait()與Object.notify()的用法詳細解析
以下是對java中Object.wait()與Object.notify()的用法進行了詳細的分析介紹,需要的朋友可以過來參考下2013-09-09

