Springboot如何加載靜態(tài)圖片
如何加載靜態(tài)圖片
java工具類
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)置的,所以需要編寫一個(gè)配置文件,也就是圖片位置的轉(zhuǎn)化器,原理是在虛擬一個(gè)服務(wù)器上面的文件夾,與本地圖片的位置進(jìn)行匹配,在調(diào)用服務(wù)器上的圖片。
配置類如下:
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)文章
Java postgresql數(shù)組字段類型處理方法詳解
這篇文章主要介紹了Java postgresql數(shù)組字段類型處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10Java實(shí)現(xiàn)整合文件上傳到FastDFS的方法詳細(xì)
FastDFS是一個(gè)開源的輕量級(jí)分布式文件系統(tǒng),對(duì)文件進(jìn)行管理,功能包括:文件存儲(chǔ)、文件同步、文件上傳、文件下載等,解決了大容量存儲(chǔ)和負(fù)載均衡的問(wèn)題。本文將提供Java將文件上傳至FastDFS的示例代碼,需要的參考一下2022-02-02Java工作環(huán)境的配置與Eclipse的安裝過(guò)程
這篇文章主要介紹了Java工作環(huán)境的配置與Eclipse的安裝過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02HashMap工作原理_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了HashMap工作原理_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,需要的朋友可以參考下2017-04-04Java中使用異或運(yùn)算符實(shí)現(xiàn)加密字符串
這篇文章主要介紹了Java中使用異或運(yùn)算符實(shí)現(xiàn)加密字符串,本文直接給出實(shí)現(xiàn)代碼,以及運(yùn)算結(jié)果加密實(shí)例,需要的朋友可以參考下2015-06-06JAVA數(shù)字千分位和小數(shù)點(diǎn)的現(xiàn)實(shí)代碼(處理金額問(wèn)題)
這篇文章主要介紹了JAVA數(shù)字千分位和小數(shù)點(diǎn)的現(xiàn)實(shí)代碼(處理金額問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例
在開發(fā)Web應(yīng)用程序時(shí),接口文檔是非常重要的一環(huán),本文主要介紹了SpringBoot實(shí)現(xiàn)接口文檔自動(dòng)生成的方法示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10解決IntelliJ IDEA創(chuàng)建spring boot無(wú)法連接http://start.spring.io/問(wèn)題
這篇文章主要介紹了解決IntelliJ IDEA創(chuàng)建spring boot無(wú)法連接http://start.spring.io/問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08