如何从数据库中检索图像并将其放置在 JSP 上? [复制]

2023-11-30

我有一个 JSP 页面,它应该从数据库获取所有图像,并且应该显示在一张表上。我的结果集对象“rs”指向图像。我的代码是这样的:

String query = "select image from stock";
rst = stmt.executeQuery(query);
while(rst.next())
<%
<td><img height="89" src=<%rst.getString(1)%></td>
%>
  }

我知道,getString 不适用于 BLOB 类型。我什至使用了 getBinaryStream(),但没有成功。任何想法?


使用以下代码将 Blob 转换为 byte[]:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
InputStream in = blob.getBinaryStream();
int n = 0;
while ((n=in.read(buf))>=0)
{
   baos.write(buf, 0, n);
}
in.close();
byte[] bytes = baos.toByteArray(); 

使用 Servlet 写入您的图像:

if (bytes != null && bytes.length > 0) {
 response.setContentType("image/jpg");
 response.getOutputStream().write(bytes);
 response.getOutputStream().flush();
 response.getOutputStream().close();
}

使用 jsp 中的 servlet 请求 url 检索图像:

<img src="imageDisplayProcess.do?pKey=imageId" width="117" height="160"
 onError="loadImage()" onAbort="loadImage()" />

imageDisplayProcess.do?pKey=imageId //should be your image servlet URL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从数据库中检索图像并将其放置在 JSP 上? [复制] 的相关文章

随机推荐