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) {
//注:使用此種方法進行路徑配置時,“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使用的方式,需注意點為拼接的路徑需以反斜杠結(jié)尾,不然訪問不到正確的路徑地址,設(shè)置完成之后,即可進行訪問。
如圖片路徑地址為:
file:///D:/app/share/data/upload/resource/20180919/b104721b07d64501a6d24215dbc70207.bmp

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

Springboot的圖片顯示問題
在springboot中的通過頁面來顯示本地的圖片
原因
本地圖片不能顯示最主要的原因是,圖片在本地url和圖片在服務(wù)器上被加載的URL是不一樣的,也就是路徑問題,
解決方法
因為springboot中的tomcat是內(nèi)置的,所以需要編寫一個配置文件,也就是圖片位置的轉(zhuǎn)化器,原理是在虛擬一個服務(wù)器上面的文件夾,與本地圖片的位置進行匹配,在調(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是圖片存放的真實路徑
registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\file\\");
}
}
但是得在你的頁面顯示前面加上

例如:

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

