Springboot如何加載靜態(tài)圖片
如何加載靜態(tài)圖片
java工具類(lèi)
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* Created by zhangj on 2018/07/31
*/
@Configuration
public class ShowImage extends WebMvcConfigurerAdapter {
/**
* 注入圖片存放路徑
*/
@Value("${upload.path.prefix}")
private String prefix;
@Value("${upload.path.res}")
private String uploadPath;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//注:使用此種方法進(jìn)行路徑配置時(shí),“file:D:/OTA/” 為正確路徑地址 “file:D:/OTA”為錯(cuò)誤路徑地址,需以反斜杠結(jié)尾才可正確加載
registry.addResourceHandler("/images/**").addResourceLocations("file:" + prefix + "/");
super.addResourceHandlers(registry);
}
}使用的是注入的方式
所以application中的配置:
upload:
path:
prefix: d:/app/share/data
res: /upload/resource/加載靜態(tài)資源文件時(shí)使用springboot使用的方式,需注意點(diǎn)為拼接的路徑需以反斜杠結(jié)尾,不然訪問(wèn)不到正確的路徑地址,設(shè)置完成之后,即可進(jìn)行訪問(wèn)。
如圖片路徑地址為:
file:///D:/app/share/data/upload/resource/20180919/b104721b07d64501a6d24215dbc70207.bmp

需將 file:///D:/app/share/data 更改為 http://localhost:8765/images 即可成功訪問(wèn)。

Springboot的圖片顯示問(wèn)題
在springboot中的通過(guò)頁(yè)面來(lái)顯示本地的圖片
原因
本地圖片不能顯示最主要的原因是,圖片在本地url和圖片在服務(wù)器上被加載的URL是不一樣的,也就是路徑問(wèn)題,
解決方法
因?yàn)閟pringboot中的tomcat是內(nèi)置的,所以需要編寫(xiě)一個(gè)配置文件,也就是圖片位置的轉(zhuǎn)化器,原理是在虛擬一個(gè)服務(wù)器上面的文件夾,與本地圖片的位置進(jìn)行匹配,在調(diào)用服務(wù)器上的圖片。
配置類(lèi)如下:

package com.ghrc.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author:yst
*/
@Configuration
public class UrlConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//addResourceHandler是指你想在url請(qǐng)求的路徑
//addResourceLocations是圖片存放的真實(shí)路徑
registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\file\\");
}
}
但是得在你的頁(yè)面顯示前面加上

例如:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
通過(guò)實(shí)例解析Java類(lèi)初始化和實(shí)例初始化
這篇文章主要介紹了通過(guò)實(shí)例解析Java類(lèi)初始化和實(shí)例初始化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
SpringBoot通過(guò)@MatrixVariable進(jìn)行傳參詳解
這篇文章主要介紹了SpringBoot使用@MatrixVariable傳參,文章圍繞@MatrixVariable展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06
Spring項(xiàng)目使用Maven和BCrypt實(shí)現(xiàn)修改密碼功能方式
在數(shù)字時(shí)代,信息安全尤其是密碼安全至關(guān)重要,本文通過(guò)實(shí)例探討如何在Spring項(xiàng)目中利用Maven和BCrypt實(shí)現(xiàn)一個(gè)安全的密碼修改功能,我們將從環(huán)境搭建到編寫(xiě)核心業(yè)務(wù)邏輯,再到完成功能測(cè)試,確保每一步都遵循最佳安全實(shí)踐,通過(guò)本文,你將了解到密碼安全的重要性2024-10-10
深入淺出講解Spring框架中AOP及動(dòng)態(tài)代理的應(yīng)用
在軟件業(yè),AOP為Aspect?Oriented?Programming的縮寫(xiě),意為:面向切面編程,通過(guò)預(yù)編譯方式和運(yùn)行期間動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)2022-03-03
Java 數(shù)組轉(zhuǎn)List的四種方式小結(jié)
本文主要介紹了四種將Java數(shù)組轉(zhuǎn)換為L(zhǎng)ist的方法,包括使用Arrays.asList、ArrayList構(gòu)造器、Collections.addAll以及JDK8的Stream,具有一定的參考價(jià)值,感興趣的可以了解一下2024-10-10
netty對(duì)proxy protocol代理協(xié)議的支持詳解
這篇文章主要為大家介紹了netty對(duì)proxy protoco代理協(xié)議的支持詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07

