数据库里存储的图片字段定义类型为blob,java里对应的类型为byte[],怎么将图片显示到jsp页面??

如题。参考:其他字段如String型<td><s:propertyvalue="picName"/></td>Date型:<td... 如题。参考:其他字段如String型<td><s:property value="picName"/></td>Date型:<td><s:property value="%{#util.dateToString(createDate)}"/></td>(注明date型里是调了一个类型转换方法,就是blob不知道怎么转换才能这样显示出来) 展开
 我来答
匿名用户
2011-08-25
展开全部
这个试下吧.
....
<body>
<%
//获取图片对象(根据主键)的sql语句
String showImage = " select * "+
" from 存放图片的表 "+
" where id='1' " ;

BufferedInputStream inputImage = null;

try{
//conn为一个Connection对象
Statement st = conn.createStatement();
//获取结果集
ResultSet rs=st.executeQuery(showImage);
//输出文件名
String filename="";
if(rs.next()) {
Blob blob = (Blob)rs.getBlob("BINARYFILE");
filename=rs.getString("FILENAME");
//读取图片字节到数据流中
inputImage = new BufferedInputStream(blob.getBinaryStream());
}

BufferedImage image = null;
image=ImageIO.read(inputImage);
//获取响应的输出流
ServletOutputStream so = response.getOutputStream();
//创建图片到页面
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(so);
encoder.encode(image);
inputImage.close();
}
%>
</body>
<%
catch(Exception e){

}
finally{
closeConn(conn);
}
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式