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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Reactor3 Map與FlatMap的區(qū)別示例詳解
這篇文章主要為大家介紹了Reactor3 Map與FlatMap的區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08