解決Tomcat重新部署后圖片等資源被自動(dòng)刪除的問題
昨天在實(shí)現(xiàn)圖片上傳并返回鏈接這個(gè)功能時(shí)。當(dāng)項(xiàng)目重新部署到tomcat,之前上傳的一些圖片等資源被自動(dòng)刪除了。
原因是我把圖片存到了target目錄下,因?yàn)橹挥蟹诺剿旅娌拍芎?jiǎn)單的通過網(wǎng)頁鏈接拿到圖片。
比如上傳后返回這個(gè)路徑:http://localhost:8080/upload/images/timg.jpg
但是當(dāng)項(xiàng)目重新部署的時(shí)候,target會(huì)被重新構(gòu)建,target里面的資源也都會(huì)刪除。
(target是用來存放項(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)刪除的問題的文章就介紹到這了,更多相關(guān)Tomcat重新部署資源被自動(dòng)刪除內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
netty 實(shí)現(xiàn)tomcat的示例代碼
這篇文章主要介紹了netty 實(shí)現(xiàn)tomcat,主要包括自定義基礎(chǔ)類及netty 服務(wù)端的示例代碼詳解,通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
深入淺析Centos 7系統(tǒng)的Tomcat服務(wù)器
tomcat最初是由Sun的軟件架構(gòu)師詹姆斯 鄧肯 戴維森開發(fā)的。后來他幫助將其變?yōu)殚_源項(xiàng)目,并由Sun貢獻(xiàn)給Apache軟件基金會(huì)。這篇文章主要介紹了Centos 7系統(tǒng)的Tomcat服務(wù)器的相關(guān)知識(shí),需要的朋友可以參考下2019-12-12
解析Tomcat架構(gòu)原理到架構(gòu)設(shè)計(jì)
一般學(xué)習(xí)的時(shí)候也是先總覽一下整體,然后逐個(gè)部分個(gè)個(gè)擊破,最后形成思路,了解具體細(xì)節(jié),Tomcat的結(jié)構(gòu)很復(fù)雜,但是Tomcat非常的模塊化,找到了Tomcat最核心的模塊,問題才可以游刃而解,了解了Tomcat的整體架構(gòu)對(duì)以后深入了解Tomcat來說至關(guān)重要2021-06-06
tomcat如何修改默認(rèn)訪問項(xiàng)目名稱和項(xiàng)目發(fā)布路徑
這篇文章主要介紹了tomcat如何修改默認(rèn)訪問項(xiàng)目名稱和項(xiàng)目發(fā)布路徑問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Tomcat執(zhí)行startup.bat出現(xiàn)閃退的可能原因及解決
本文主要介紹了Tomcat執(zhí)行startup.bat出現(xiàn)閃退的可能原因及解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
在同一臺(tái)服務(wù)器上配置多個(gè)Tomcat的方法
本篇文章主要講訴了在同一臺(tái)服務(wù)器上配置多個(gè)Tomcat的方法,主要是解決端口沖突問題,有需要的可以了解一下。2016-11-11
tomcat部署簡(jiǎn)單的html靜態(tài)網(wǎng)頁的方法
這篇文章主要介紹了tomcat部署簡(jiǎn)單的html靜態(tài)網(wǎng)頁的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06

