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)行路徑配置時,“file:D:/OTA/” 為正確路徑地址 “file:D:/OTA”為錯誤路徑地址,需以反斜杠結(jié)尾才可正確加載 registry.addResourceHandler("/images/**").addResourceLocations("file:" + prefix + "/"); super.addResourceHandlers(registry); } }
使用的是注入的方式
所以application中的配置:
upload: path: prefix: d:/app/share/data res: /upload/resource/
加載靜態(tài)資源文件時使用springboot使用的方式,需注意點(diǎn)為拼接的路徑需以反斜杠結(jié)尾,不然訪問不到正確的路徑地址,設(shè)置完成之后,即可進(jìn)行訪問。
如圖片路徑地址為:
file:///D:/app/share/data/upload/resource/20180919/b104721b07d64501a6d24215dbc70207.bmp
需將 file:///D:/app/share/data 更改為 http://localhost:8765/images 即可成功訪問。
Springboot的圖片顯示問題
在springboot中的通過頁面來顯示本地的圖片
原因
本地圖片不能顯示最主要的原因是,圖片在本地url和圖片在服務(wù)器上被加載的URL是不一樣的,也就是路徑問題,
解決方法
因?yàn)閟pringboot中的tomcat是內(nèi)置的,所以需要編寫一個配置文件,也就是圖片位置的轉(zhuǎn)化器,原理是在虛擬一個服務(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請求的路徑 //addResourceLocations是圖片存放的真實(shí)路徑 registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\file\\"); } }
但是得在你的頁面顯示前面加上
例如:
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java postgresql數(shù)組字段類型處理方法詳解
這篇文章主要介紹了Java postgresql數(shù)組字段類型處理方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10Java實(shí)現(xiàn)整合文件上傳到FastDFS的方法詳細(xì)
FastDFS是一個開源的輕量級分布式文件系統(tǒng),對文件進(jìn)行管理,功能包括:文件存儲、文件同步、文件上傳、文件下載等,解決了大容量存儲和負(fù)載均衡的問題。本文將提供Java將文件上傳至FastDFS的示例代碼,需要的參考一下2022-02-02Java工作環(huán)境的配置與Eclipse的安裝過程
這篇文章主要介紹了Java工作環(huán)境的配置與Eclipse的安裝過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02HashMap工作原理_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了HashMap工作原理_動力節(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í)代碼(處理金額問題)
這篇文章主要介紹了JAVA數(shù)字千分位和小數(shù)點(diǎn)的現(xiàn)實(shí)代碼(處理金額問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10SpringBoot實(shí)現(xiàn)接口文檔自動生成的方法示例
在開發(fā)Web應(yīng)用程序時,接口文檔是非常重要的一環(huán),本文主要介紹了SpringBoot實(shí)現(xiàn)接口文檔自動生成的方法示例,具有一定的參考價值,感興趣的可以了解一下2023-10-10解決IntelliJ IDEA創(chuàng)建spring boot無法連接http://start.spring.io/問題
這篇文章主要介紹了解決IntelliJ IDEA創(chuàng)建spring boot無法連接http://start.spring.io/問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08