簡體   English   中英

如何從Oracle數據庫檢索圖像並在Struts中的JSP中顯示

[英]How to retrieve image from an Oracle database and display in JSP in Struts

美好的一天,

我已經上傳了一個圖像文件,並將其存儲在oracle數據庫中。 在Oracle SQL Developer中,圖像數據顯示為“(BLOB)”。

現在,我想從數據庫中檢索一些數據並顯示在jsp中。 以下是我的actiaon.java文件的代碼的一部分:

thisForm.setCampaignName(cbo.getCampaignName());
thisForm.setImageDisplay(cbo.getImage());

以下是我在form.java文件(使用getter setter方法)中的代碼的一部分:

private String campaignName = null;

private byte[] imageDisplay = null;

public String getCampaignName() {
    return campaignName;
}

public void setCampaignName(String campaignName) {
    this.campaignName = campaignName;
} 

public byte[] getImageDisplay() {
    return imageDisplay;
}

public void setImageDisplay(byte[] imageDisplay) {
    this.imageDisplay = imageDisplay;
}

以下是我的jsp文件中代碼的一部分:

<td class="value"><html:text property="campaignName" size="50" maxlength="50" /></td>

<td class="value"><bean:write name="campaignListingForm" property="imageDisplay" /></td>

作為我鍵入並存儲在oracle數據庫中的內容, campaignName在瀏覽器中顯示正確。 但是,圖像無法正確顯示。
它僅在我的瀏覽器中顯示[B@5df25df2單詞。

我認為使用JSP顯示圖像是錯誤的。

好心提醒。

該圖像是二進制數據。 您不能直接在頁面中顯示它。 您的網頁中必須有一個IMG標簽,其src屬性設置為struts操作中的另一種方法,該方法檢索圖像ID(附加在src屬性中圖像URL的末尾),獲取給定圖像並將其發送到客戶使用適當的啞劇/類型。 因此順序如下:

  1. 您從數據庫中獲取數據(公司信息)
  2. 實現一種給定公司名稱的方法(如果有,最好使用id),該方法從數據庫加載公司圖像並將其寫入具有適當mime類型的響應輸出流中(類似於@Guillaume提到的那種)
  3. 在結果頁面(顯示公司信息的頁面)上生成適當的img元素,並將src屬性設置為在步驟2中開發的操作的url。確保將公司名稱(或id)作為查詢字符串參數傳遞

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM