SpringBoot靜態(tài)資源映射,圖片無法實時訪問問題及解決
SpringBoot靜態(tài)資源映射,圖片無法實時訪問
項目中含有圖片上傳功能,但是圖片成功上傳后,圖片無法訪問顯示
只有服務器編譯重啟之后,才可以訪問
經(jīng)了解,圖片上傳之后,只存在于當前服務器的物理路徑,也就是說存在于項目的靜態(tài)資源目錄下,但并沒有寫入 target/classes/static編譯后的靜態(tài)資源目錄下。

為此,我們需要配置靜態(tài)資源映射,虛擬地址與物理地址映射關系,解決方法:
1.文件配置法
spring.servlet.multipart.max-file-size=3MB spring.mvc.static-path-pattern=/static/** spring.web.resources.static-locations=file:C://folder/static
注意:file的偽協(xié)議不可缺失
2.工具類法
@Configuration
public class WebConfigurer implements WebMvcConfigurer {
@Override
public void addResourceHandlers( ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("file:C:/folder/static");
}
}上面兩者方法任選擇其一,即可解決問題
JavaWeb 的路徑映射問題
指定虛擬路徑:訪問 https://local:8080/upload/** 這個路徑,target目錄中依舊需要重啟才能構建出圖片,但通過虛擬路徑的方法將當前的訪問路徑映射到指定的路徑。
進入 Tomcat 本地文件夾中,找到 server.xml 文件進行修改
path:代表虛擬路徑;即返回給客戶端的地址;docBase:代表絕對路徑;文件存儲的物理地址;reloadable=“false”:代表不需要重啟Tomcat,更新即可生效

在idea中編輯Tomcat配置

可以看到不重啟服務器,上傳圖片也會立即顯示。但是注意的是,target目錄中依舊沒有改圖片。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring Boot 2.2 正式發(fā)布,大幅性能提升 + Java 13 支持
隨著 Spring Framework 5.2.0 成功發(fā)布之后,Spring Boot 2.2 也緊跟其后,發(fā)布了第一個版本:2.2.0。下面就來一起來看看這個版本都更新了些什么值得我們關注的內容2019-10-10
Java并發(fā)編程之CountDownLatch原理詳解
這篇文章主要介紹了Java并發(fā)編程之CountDownLatch原理詳解,CountDownLatch類中使用了一個繼承自AQS的共享鎖Sync對象,構造CountDownLatch對象時會將傳入的線程數(shù)值設為AQS的state值,需要的朋友可以參考下2023-12-12
java實現(xiàn)找出兩個文件中相同的單詞(兩種方法)
這篇文章主要介紹了java實現(xiàn)找出兩個文件中相同的單詞(兩種方法),需要的朋友可以參考下2020-08-08
Java使用FileInputStream流讀取文件示例詳解
這篇文章主要介紹了Java使用FileInputStream流讀取文件示例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07
Mybatis/MybatisPlus公共字段填充與配置邏輯刪除
MyBatis 和 MyBatis-Plus 都提供了相應的機制來處理這些公共字段的填充和邏輯刪除,下面就來介紹一下,感興趣的可以了解一下2025-05-05
Spring Boot 核心模塊詳解(12 個模塊詳解及作用說明)
和 Spring 框架一樣,Spring Boot 框架也是由許多核心模塊組成的,每個模塊負責不同的功能點,本文講著重于介紹 Spring Boot 相關的 12 個模塊的作用和功能,感興趣的朋友一起看看吧2025-04-04

