解決Tomcat重新部署后圖片等資源被自動刪除的問題
昨天在實現(xiàn)圖片上傳并返回鏈接這個功能時。當項目重新部署到tomcat,之前上傳的一些圖片等資源被自動刪除了。
原因是我把圖片存到了target目錄下,因為只有放到它下面才能簡單的通過網(wǎng)頁鏈接拿到圖片。
比如上傳后返回這個路徑:http://localhost:8080/upload/images/timg.jpg
但是當項目重新部署的時候,target會被重新構建,target里面的資源也都會刪除。
(target是用來存放項目構建后的文件和目錄、jar包、war包、編譯的class文件。)
最后想到一個辦法,把同一個圖片保存在兩個路徑下,一個路徑是target下面,另一個路徑是自己開發(fā)的項目下,這樣如果重新部署,自己項目里的文件就會重新對target文件進行覆蓋,重新加載到target中。
下面是我的實現(xiàn)代碼
//到本地IDEA項目中的路徑 String localDirString = "E:/zideapro/onlineschool/src/main/webapp/upload/images"; //在tomcat服務器部署的項目路徑 String root_String = request.getSession().getServletContext().getRealPath("/upload/images"); File localDirPath = new File(localDirString); File root_Path = new File(root_String); //本地IDEA中目錄不存在則需要創(chuàng)建 if (!localDirPath.exists()) { localDirPath.mkdirs(); } //服務器tomcat中目錄不存在則創(chuàng)建 if (!root_Path.exists()) { root_Path.mkdirs(); } // 本地的文件路徑 File localFilePath = new File(localDirPath + File.separator + attach.getOriginalFilename());//文件目錄+文件名稱 // 服務器中文件的路徑 File root_FilePath = new File(root_Path + File.separator + attach.getOriginalFilename());//項目部署的目錄+文件名稱 //將圖片保存到本地 attach.transferTo(localFilePath); //從本地路徑復制一份文件到tomcat服務器的下//避免重新部署是圖片資源丟失 Files.copy(localFilePath.toPath(), root_FilePath.toPath()); System.out.println("editormd上傳圖片到本地保存的路徑:" + localFilePath); System.out.println("editormd上傳圖片到部署項目的路徑:" + root_FilePath); 輸出部分: editormd上傳圖片到本地保存的路徑:E:\zideapro\onlineschool\src\main\webapp\upload\images\timg2.jpg editormd上傳圖片到部署項目的路徑:E:\zideapro\onlineschool\target\ssm\upload\images\timg2.jpg
這樣圖片資源上傳到了兩個路徑下,當重新部署項目時本地文件會對丟失的文件進行覆蓋,這樣圖片等資源就不會丟失了。
到此這篇關于解決Tomcat重新部署后圖片等資源被自動刪除的問題的文章就介紹到這了,更多相關Tomcat重新部署資源被自動刪除內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Tomcat下載安裝并部署到IDEA的教程(附帶idea兩種熱部署設置方法)
這篇文章主要介紹了Tomcat下載安裝并部署到IDEA的教程(附帶idea兩種熱部署設置方法),本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12讓IIS6支持JSP的設置方法(IIS完美整合Tomcat)
這方面的教程網(wǎng)上很多,多數(shù)是copy之后又copy,以至于有些細節(jié)一直含糊不清,也導致我走了許多彎路,今天腳本之家小編特為大家整理了一些方法,經(jīng)測試正常運行jsp2014-07-07使用Tomcat服務器運行sts時出現(xiàn)報錯的解決辦法
前幾天在運行 Spring ToolSuite 時出現(xiàn)Starting Tomcat v8.5 Server at localhost' hasencountered a problem.的錯誤,所以本文給大家介紹了解決這個錯的方法,需要的朋友可以參考下2023-09-09在Win10上安裝Tomcat服務器及配置環(huán)境變量的詳細教程(圖文)
Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,屬于輕量級應用服務器,本文主要講述Windows環(huán)境Tomcat服務器安裝與環(huán)境變量配置,感興趣的朋友跟隨小編一起看看吧2019-11-11