上傳文件時,需要將上傳的文件存放於工程路徑中,以便前端能夠獲取文件資源,那如何獲取工程路徑呢?
//獲取 SpringBoot 工程中 static 的絕對路徑
String serverpath= ResourceUtils.getURL("classpath:static").getPath();
//從路徑字符串中取出工程路徑
path=serverpath.replace("%20"," ").replace('/', '\\').substring(1);
SpringBoot 工程編譯成功后將輸出 target 文件夾,target 文件夾里保存 Java 類編譯后的 class 文件以及客戶端資源文件。
所以,客戶端輸入 URL 地址訪問的資源文件,其實是從 target 文件夾中獲取,而不是項目工程中。
如果將上傳的文件存放於項目工程中,那么需要重新編譯工程,才能將上傳的文件存放於 target 文件夾,這樣客戶端才能正常訪問。