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