您好,登錄后才能下訂單哦!
這篇文章主要介紹了spring boot怎么配置靜態路徑的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇spring boot怎么配置靜態路徑文章都會有所收獲,下面我們一起來看看吧。
spring boot對靜態文件,可以通過配置路徑的方式來實現。
@Slf4j @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { @Resource private PermissionInterceptor permissionInterceptor; @Resource private CheckOpenInterceptor checkOpenInterceptor; @Value("${dataDir}") private String rootPath; @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { log.info(">>addResourceHandlers>>"+"file:"+rootPath); registry.addResourceHandler("/file/**").addResourceLocations("file:"+rootPath); super.addResourceHandlers(registry); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(permissionInterceptor).addPathPatterns("/file/**"); super.addInterceptors(registry); } }
rootPath 我本地調試環境的是 : d:/file/
測試環境的是 /data/file
/**” :表示訪問路徑,根據實際情況指定(這里表示/file/下的所有路徑)
"file:/d/file/" :表示靜態資源在硬盤上的真實存儲位置,根據實際情況指定
本地開發是很順利的,很快就寫好了,當部署到測試機的時候,上傳的文件,無法預覽,一直提示404。
初步懷疑是2個問題
1.權限問題檢查了文件也正常寫入和讀出,排除權限的問題
2文件編碼的問題
我上傳的有中文目錄,也許是中文無法映射出來,后來,上傳了全英文的文件,也是無法預覽,實在是吐血了,
都無法解決我的問題
實在是想不到什么問題,考慮了能否遠程debug下呢
我配置了 ide debug,遠程 java啟動命令
java -agentlib:jdwp=transport=dt_socket,address=5555,server=y,suspend=y -jar myproject.jar
ide 配置
其中 host 是我本地的ip地址
啟動好遠程服務,打好斷點,然后debug
經過幾個小時的spring debug 源碼,終于發現了我的路徑少了個 / 號, spring boot 對于 不是/結尾的處理,直接忽略了,找到了上級目錄去了,這就造成一直404的原因
關于“spring boot怎么配置靜態路徑”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“spring boot怎么配置靜態路徑”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。