繁体   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