SpringBoot配置圖片訪問的虛擬路徑
記錄一次SpringBoot配置虛擬路徑訪問圖片的筆記
最近編寫的項目都是需要將圖片進(jìn)行訪問的,而我的是有spring+springMVC+Mybatis框架實現(xiàn)的項目,并且在使用ssm框架的時候已經(jīng)是用到了圖片訪問的虛擬路徑來進(jìn)行訪問的,ssm配置虛擬路徑實在Tomcat上配置的圖片訪問,而SpringBoot是內(nèi)置Tomcat的那應(yīng)該怎么配置呢具體看下圖,
先配置圖片上傳路徑
這個是jsp頁面的代碼段
<div class="layui-form-item">
<label class="layui-form-label">簡介圖片</label>
<div class="layui-upload layui-input-block">
<button type="button" class="layui-btn" id="SingleUpload">
<i class="layui-icon layui-icon-upload"></i> 上傳圖片
</button>
<img id="simpleImg" width="60px" height="60px">
</div>
</div>
js代碼段
upload.render({ //這里是上傳一張圖片
elem: "#SingleUpload",
url: ctx + "/book/SingleUpload",
done: function (res, index, upload) {
//假設(shè)code=0代表上傳成功
if (res.code == 0) {
layer.msg("簡介圖片加載成功!", {icon: 1});
$("#simpleImg").attr("src", res.image);
$("#SingleUpload").addClass("layui-btn-disabled");
$("#SingleUpload").off("click");
}
}
});
接下來是Controller里面的具體配置
private String simplePath = "D:/uploadLibrary/";
// 詳細(xì)圖片地址
private StringBuilder detailsPath = new StringBuilder();
@RequestMapping("/SingleUpload")
@ResponseBody
public Map<String, Object> SingleUpload(@RequestParam("file") MultipartFile file, HttpServletRequest req,
HttpSession session) {
Map<String, Object> map = new HashMap<String, Object>();
try {
String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
String filename = UUID.randomUUID() + suffixName;
File filePath = new File(dirPath);
if (!filePath.exists()) {
filePath.mkdirs();
}
//創(chuàng)建虛擬路徑存儲
simplePath = req.getServletContext().getContextPath() + "/file/" + filename;
// simplePath = filename;
map.put("image", simplePath);
file.transferTo(new File(dirPath + filename));
map.put("code", 0);
map.put("msg", "上傳成功");
} catch (Exception e) {
map.put("code", 1);
map.put("msg", "上傳失敗");
e.printStackTrace();
}
return map;
}
數(shù)據(jù)庫存儲的圖片路徑

一切都設(shè)置好了過后這時就需要對SpringBoot配置虛擬路徑來對圖片進(jìn)行訪問了
新建config 控制類在里面新建類方法WebMvcConfig來對圖片進(jìn)行虛擬路徑的配置
具體代碼
package com.book.libratyman.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/file/**").addResourceLocations("file:D:/uploadLibrary/");
}
}
addResourceHandler("/file/**")是我在項目中訪問圖片的路徑也就是數(shù)據(jù)里面的圖片存儲路徑,而addResourceLocations(“file:D:/uploadLibrary/”)則是我上傳圖片的真實路徑我上傳圖片的真實路徑是 **D:/uploadLibrary/**配置以后運(yùn)行項目便可以訪問項目圖片了。


圖片顯示出來就表示已經(jīng)配置成功了哦!?。。?!
到此這篇關(guān)于SpringBoot配置圖片訪問的虛擬路徑的文章就介紹到這了,更多相關(guān)SpringBoot配置圖片訪問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java動態(tài)代理實現(xiàn)方法小結(jié)
這篇文章主要介紹了Java動態(tài)代理實現(xiàn)方法,結(jié)合實例形式總結(jié)分析了java基于JDK、CGLIB及CGLIB實現(xiàn)動態(tài)代理的相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
JVM(Java虛擬機(jī))簡介(動力節(jié)點Java學(xué)院整理)
Java虛擬機(jī)(Jvm)是可運(yùn)行Java代碼的假想計算機(jī)。Java虛擬機(jī)包括一套字節(jié)碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域。對java jvm 虛擬機(jī)感興趣的朋友通過本文一起學(xué)習(xí)吧2017-04-04
SpringBoot中支持Https協(xié)議的實現(xiàn)
本文主要介紹了SpringBoot中支持Https協(xié)議的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄
這篇文章主要介紹了Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
如何通過properties文件配置web.xml中的參數(shù)
這篇文章主要介紹了如何通過properties文件配置web.xml中的參數(shù)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
JavaWeb實現(xiàn)用戶登錄注冊功能實例代碼(基于Servlet+JSP+JavaBean模式)
這篇文章主要基于Servlet+JSP+JavaBean開發(fā)模式實現(xiàn)JavaWeb用戶登錄注冊功能實例代碼,非常實用,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧2016-05-05

