2012-09-04 88 views
0

這裏是我的情況:保存上傳文件的路徑我應該選擇getServletContext嗎?

  • 我的表必須有一個按鈕來顯示圖像,我將在數據庫中包含的圖像文件(filename.jpg)的只有名稱數據,而不是一個具體的路徑,服務器將根據它在真實服務器中的上下文來顯示它。經過長時間的搜索,我找到了找到粘貼所在位置的方法getServletContext().getRealPath("/images"),例如本地主機或真實主機(至少這就是我所理解的)。

但是,當我在本地主機它表示該環境的方法

getServletContext()方法getRealPath( 「/圖像」):

C:\文件和設置\霍蘇埃\ Meus documentos \ workspace.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \ wtpwebapps \ testeDeFuncoes \圖像\ file.jpg

我推斷它正在調用臨時文件夾的上下文,這只是爲本地主機測試做出的。 要在localhost中恢復它,我認爲會起作用,但在真正的服務器上它會工作,我認爲不是,對吧?

我可以以動態方式放入Web內容,當我導出WAR文件時,它將存儲在文件中,並且無論服務器決定選擇什麼位置,上傳它時都能正常工作。如果不是,大多數情況下通常用來做網頁的是什麼?

回答

1

你可能會考慮在數據庫中存儲圖像,根據您的需求,請參閱Storing Images in DB - Yea or Nay?

我個人在數據庫中存儲的圖像,並在本地文件系統的臨時目錄緩存他們的忠實粉絲。

無論哪種方式,你應該有一個可靠的已知標準的地方來存儲圖像。如果您沒有將它們存儲在數據庫中,請選擇非臨時目錄或使其可配置。

該Web應用程序可能來自戰爭文件,servletContext.getRealPath(...)不太可能返回一個可靠的地方來存儲任何東西。

相關問題