2012-06-15 131 views
0

我從來沒有從數據庫中保存和檢索過圖像。我寫下了我猜想的過程。我只是想知道,如果這是正確的,但:在數據庫中存儲和檢索圖像的過程

保存圖像:

  1. 選擇&從JSP上傳圖像文件(在Struts 2),將其保存爲.tmp文件。
  2. 轉換.tmp文件到byte []數組(Java服務器端)
  3. 商店的byte []數組作爲數據庫中的BLOB(Java服務器端)

獲取圖像:

  1. 從數據庫中獲取的byte []數組(Java服務器端)
  2. 轉換的byte []數組到一個圖像文件(Java服務器端)
  3. 創建的某個位置( Java服務器端)
  4. 使用img標籤顯示文件(JSP客戶端)
  5. 使用完成後刪除文件? (Java服務器端)

我知道的事實,強烈建議不要保存&檢索圖像,並從數據庫中。無論如何,我想知道如何去做。

感謝

回答

0

幾乎是正確的。

它很昂貴,並不是很好,動態創建文件,然後刪除它。

是的,您將它作爲原始字節存儲在數據庫中,但檢索它並將其顯示到客戶機的方式是實現一個Web處理程序,該程序將響應的內容類型設置爲適當的MIME類型然後將字節轉出到響應流。

+0

謝謝。您是否指的是獲取圖像過程的第4步? – ThreaT

+0

他指的是步驟3,4和5. –

+0

那麼步驟3,4和5會變成什麼? – ThreaT

0

是的,你說得對。

保存圖像:

保存圖像的決定是進一步使用非常依賴。您可以選擇將文件保存在文件系統上。保存文件的位置應保存到數據庫表中的元數據中。

獲取圖像:

您不必在任何臨時位置正確的文件數據。它只能從數據庫中輕鬆渲染。只需發送客戶請求並在空間設計的Servlet中攔截該請求。這個Servlet將讀取文件元數據和相應的文件,如果成功的話,將文件寫回到響應流中。

相關問題