如何从数据库中检索图像并将其放置在 JSP 上?
我有一个 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(),但没有成功。有什么想法吗?
I have a JSP page and it should get all the images from database and should to display on one table. My resultset object 'rs' is pointing to images. My code is like this:
String query = "select image from stock";
rst = stmt.executeQuery(query);
while(rst.next())
<%
<td><img height="89" src=<%rst.getString(1)%></td>
%>
}
I know, getString will not work for BLOB type. I was even used getBinaryStream(), but not succeed. Any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用以下代码将 Blob 转换为 byte[]:
使用 Servlet 写入图像:
使用 jsp 中的 servlet 请求 url 检索图像:< /强>
User the following piece of code to convert Blob to byte[]:
Use Servlet to write your image:
Use retrive your image using servlet request url in jsp:
这是完整的示例,
注意:将此示例仅作为理解方式的参考,
Here is complete example ,
Note: Consider this example as reference only to understand the way,
/image/*
src="image/<%= imageId %>
,其中imageId< /code> 是 servlet
getBinaryStream()
中数据库中每个图像的唯一 IDIOUtils.copy(..)
)到 < code>response.getOutputStream()Content-Type
设置为image/jpeg
或image/png
(或任何类型)是)/image/*
src="image/<%= imageId %>
, whereimageId
is the unique id of each image in the dbgetBinaryStream()
and transfer it (for example usingIOUtils.copy(..)
) toresponse.getOutputStream()
Content-Type
toimage/jpeg
orimage/png
(or whatever the type is)只需将响应类型设置为“image/jpg”并使用
下面编写的 ResultSet 演示代码检索列即可——
Just put response type as "image/jpg" and retrieve column using ResultSet
demo code written bellow---