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é)尾,不然訪問不到正確的路徑地址,設(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)置的,所以需要編寫一個(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\\");
}
}
但是得在你的頁面顯示前面加上

例如:

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

