fileUpload上傳圖片,圖片消失

来源:https://www.cnblogs.com/ML-star/archive/2022/06/07/16351372.html
-Advertisement-
Play Games

​ 問題描述 我在Eclipse上運行項目的時候,在我用fileUpload上傳圖片,等到下一次Tomcat刷新的時候,這個照片就沒了,而且點擊查看那個文件夾也查看不到有圖片文件。 原因 我後來在網上查詢相關資料發現是Eclipse整 合Tomcat的問題,因為他們整合之後,你用相對路徑上傳的圖片會 ...


問題描述

我在Eclipse上運行項目的時候,在我用fileUpload上傳圖片,等到下一次Tomcat刷新的時候,這個照片就沒了,而且點擊查看那個文件夾也查看不到有圖片文件。

原因

我後來在網上查詢相關資料發現是Eclipse整

合Tomcat的問題,因為他們整合之後,你用相對路徑上傳的圖片會上傳到Tomcat伺服器上面。但Eclipse的每一次項目代碼的編譯更新(熱部署)或者重啟Tomcat伺服器,Tomcat伺服器會把之前的項目文件刪除, 並且隨時保持於eclipse中項目的同步。所以圖片上傳之後一會兒就會消失。

解決方法1

不用相對路徑,使用絕對路徑。這樣文件上傳的地方就會是在本機的項目裡面了,而Tomcat同步更新也不會有問題。

String fname = fi.getName();
String[] str = fname.split("\\.");
String name = UUID.randomUUID().toString()+"."+str[str.length-1];
String filePath = "E:\\Java\\Web\\yueyouwang\\src\\main\\webapp\\tupian\\";//創建一個存放上傳文件的目錄
b.setFengmian("tupian/"+name);
fi.write(new File(filePath,name));
fi.delete();

但這個方法有一定的缺陷性,你每次上傳了一個新的圖片之後,你直接在網頁查看不了,你要到Eclipse的那個文件夾滑鼠右鍵點擊刷新之後,才能在網頁上看到你上傳的圖片。 

編輯

 

解決方法2

因為這是Tomcat伺服器與Eclipse同步的問題。所以,我將項目打成war包再放到Tomcat伺服器下運行就沒問題了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 成交量(volume)是投資中一個非常重要的變數,它是指在某一時段內具體的交易數,可以在分時圖中繪製,包括日線圖、周線圖、月線圖甚至是5分鐘、30分鐘、60分鐘圖中繪製。 股票市場成交量的變化反映了資金進出市場的情況,成交量是判斷市場走勢的重要指標。一般情況下,成交量大且價格上漲的股票,趨勢向好。成 ...
  • 有時候,我們將數據變換之後再繪圖,一方面,可以突出某些區域的數據;另一方面,變換之後可以更好的看出數據之間的關係。 matplotlib 提供了兩種變換數據的方式,一種是 Scale(縮放),一種是Projection(投影)。 Scale是對數據的一個維度進行變換,Projection則是對2個或 ...
  • 1、synchronized關鍵字簡介 synchronized是java中的一個關鍵字,在中文中為同步,也被稱之為'同步鎖',以此來達到多線程併發訪問時候的併發安全問題,可以用來修飾代碼塊、非靜態方法。靜態方法等; 修飾代碼塊時:給當前指定的對象加鎖 修飾非靜態方法時:作用於當前實例加鎖 修飾靜態 ...
  • 雙親委派機制:當某個類載入器準備載入一個.class位元組碼文件時,它首先將這個載入任務委派給上一級類載入器,上一級載入器再委派到更上一級類載入器,遞歸這個操作直到最頂級的類載入器。 一、類載入器的類別 在介紹Java的雙親委派機制的時候,不得不提ClassLoader(類載入器) 我們編譯的Java ...
  • 一、分散式鏈路追蹤發展簡介 1.1 分散式鏈路追蹤介紹 關於分散式鏈路追蹤的介紹,可以查看我前面的文章 微服務架構學習與思考(09):分散式鏈路追蹤系統-dapper論文學習(https://www.cnblogs.com/jiujuan/p/16097314.html) 。 這裡的 OpenTel ...
  • 條碼的應用已深入生活和工作的方方面面。在處理條碼時,常需要和各種文檔格式相結合。當需要在文檔中插入、編輯或者刪除條碼時,可藉助於一些專業的類庫工具來實現。本文,以操作PDF文件為例,介紹如何在編輯表格時,向單元格中添加條形碼。 【程式環境】 本次功能測試中,使用 Free Spire.PDF for ...
  • 1 Sentinel主頁 https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5 1.1 Sentinel介紹 隨著微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 是面向分散式服務架構的流量控制組件,主要以流量為切 ...
  • 前言 dubbo是一款微服務開發框架,它提供了 RPC通信 與 微服務治理 兩大關鍵能力。作為spring cloud alibaba體系中重要的一部分,隨著spring cloud alibaba在國內活躍起來,dubbo也越來越深受各大公司的青睞。本文就來對dubbo的spi機制源碼進行剖析,看 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...