gpt4 book ai didi

java - 如何从 Oracle 数据库检索图像并在 Struts 中的 JSP 中显示

转载 作者:行者123 更新时间:2023-12-01 04:21:04 24 4
gpt4 key购买 nike

美好的一天,

我已经上传了一个图像文件并将其存储在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>

campaignName 在浏览器中正确显示,正如我在 Oracle 数据库中键入并存储的内容一样。但是,图像无法正确显示。
它只是在我的浏览器中显示 [B@5df25df2 单词。

我认为我使用 JSP 显示图像是错误的。

敬请指教。

最佳答案

图像是二进制数据。您无法直接在页面中显示它。您的页面中必须有一个 IMG 标记,其 src 属性设置为 struts 操作中的另一个方法,该方法检索图像 id(附加在 src 属性中图像 url 的末尾),获取给定图像并使用适当的 mime/类型将其发送到客户端。所以顺序如下:

  1. 您从数据库中获取数据(公司信息)
  2. 实现一种给定公司名称(如果有的话,最好是 id)的方法,该方法从数据库加载公司图像,并使用适当的 mime 类型将其写入响应输出流(类似于 @ 提到的类型)纪尧姆)
  3. 在结果页面(显示公司信息的页面)上生成适当的 img 元素,并将 src 属性设置为第 2 步中开发的操作的 URL。确保传递公司名称 (或 id)作为查询字符串参数

关于java - 如何从 Oracle 数据库检索图像并在 Struts 中的 JSP 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18891460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com