2014-03-30 31 views
0

我想將圖像插入數據庫並將其顯示在另一頁中。我正在使用PostgreSQL數據庫。JSP將圖像插入數據庫,將其顯示到客戶端

我的指南建議我將圖片及其文件路徑插入到數據庫中。當顯示時,代替src attrib的img標籤放置數據庫的路徑。所以我可以爲此得到任何幫助。

請指導我爲此或給我鏈接類似的問題。

(我是最後一年的學生,覺得這個項目的要求很困難)。

回答

1

您的嚮導是完全正確的。你應該學習的一部分就是解決問題:如何將一個大問題分解成許多更小,更簡單的問題,你可以逐個解決。這聽起來像暗示了這一點,但希望你自己能夠做到這一點,這是非常合理的。

您需要將其分解成幾個步驟,並且每個步驟都要單獨進行。這就是除了最重要的編程任務之外的其他任何事情必須完成的。

(目前還不清楚您是否想將圖像數據存儲在數據庫中,或者只是一個文件系統路徑,所以我假設您要將文件寫入本地文件系統並將路徑存儲在數據庫中)。

無論如何,這應該是相當簡單的JSP。要顯示:

  • 一個JSP的是:
    • 檢查查詢參數用於圖像ID
    • 使用JDBC使用從數據庫(一個簡單的SELECT獲取文件系統上的圖像的相關聯的路徑圖像ID作爲查詢參數)
    • 在文件系統上打開圖像作爲二進制流;還統計它得到其尺寸
    • 發送適當的HTTP標頭例如Content-Type: image/jpegContent-Length: image-length-in-bytes到客戶端
    • 副本從圖像輸入流以發送給客戶端
  • 另一個輸出流的原始圖像數據生成HTML並在其中有一個<img src="/the/image/jsp?imageid=blah">鏈接的JSP。

如果你需要提交只有一個JSP文件,你可以通過讓JSP結合兩種顯示HTML網頁,如果沒有收到任何查詢參數,如果它收到一個發送圖像圖像ID作爲查詢參數。

要插入:

  • 一個JSP顯示與文件上傳鏈接HTML表單,如果它不被調用任何HTTP POST數據
  • 如果JSP沒有被調用與HTTP POST數據: **發出JDBC INSERT爲數據庫中的文件創建記錄,但不提交 **使用JSP 中提供的方法訪問和解碼POST數據**從表單數據中提取所需的文件名並打開一個二進制輸出流到文件系統上的文件 ** Co py將圖像字節轉換爲該輸出流,如果需要url解碼(儘管JSP中的HTTP POST表單處理代碼可能會將其解碼爲字節流) **刷新並關閉輸出流 **提交與JDBC INSERT的事務。

您應該能夠通過快速的Google搜索找到大量的兩個示例。如果你不能,修改其他編程語言的例子應該很容易。

對於插入,您必須仔細考慮錯誤情況。這是正確編程的很大一部分。

我故意不向你展示代碼示例。如果你是最後一年的學生,你應該可以自己做到這一點。你不會知道你需要的一切,但現在你應該知道如何知道什麼時候你不知道什麼時候需要知道它。教程。文檔。谷歌。編寫測試程序來解決問題。 NetBeans/Eclipse中的方法名稱自動完成。修改示例代碼。你有很多選擇。

+0

謝謝你。 。現在我明白了。 。 – Raghavendra

+0

可以請你展示一些代碼示例。 。 – Raghavendra

+0

當我在servlet中調用request.getParameter(「photo」)時,它只插入圖像名稱。 – Raghavendra

相關問題