请教一个关于可能缓冲造成输出不正确的问题。

Qiushen 2004-09-05 10:20:25
我写了个Servlet来读数据库中的图片进行输出,代码如下
private static final String CONTENT_TYPE = "image/jpeg;charset=GB2312";
private String cmd;
private PreparedStatement sql;
private ResultSet rs;
private InputStream in;

sql=con.prepareStatement(cmd);
rs = sql.executeQuery();
rs.next();
in = rs.getBinaryStream("tp");

response.reset();
response.setContentType("image/jpeg");

byte[] buffer = new byte[4096];
int size;
size = in.read(buffer);
while (size != -1)
{
response.getOutputStream().write(buffer, 0, size);
size = in.read(buffer);
}
in.close();
response.getOutputStream().flush();
response.getOutputStream().close();

当我在一个网页(代码大概如下)中调用。
<table>
<tr>
<tb>show_ml?id=1</tb><tb>show_ml?id=2</tb><tb>show_ml?id=3</tb><tb>show_ml?id=4</tb>
</tr>
<tr>
<tb>show_ml?id=5</tb><tb>show_ml?id=6</tb><tb>show_ml?id=7</tb><tb>show_ml?id=8</tb>
</tr>
<tr>
<tb>show_ml?id=9</tb><tb>show_ml?id=10</tb><tb>show_ml?id=11</tb><tb>show_ml?id=12</tb>
</tr>
<tr>
<tb>show_ml?id=13</tb><tb>show_ml?id=14</tb><tb>show_ml?id=15</tb><tb>show_ml?id=16</tb>
</tr>
</table>

我在数据库中图片都是不一样的,但是显示出来的时候有时候会有出现两张图片一样的,刷新一下可能又会变成另外两张一样的出来,不知道是什么原因,请各位大侠帮忙看看(数据库中的每张图片就几K大小)。
...全文
69 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hanyun229 2005-03-14
up
回复
Qiushen 2004-09-10
晚上结贴,来几个接分的吧
回复
up
回复
Qiushen 2004-09-08
怎么没人知道啊,真是郁闷,再没人知道我就要删贴了
回复
Qiushen 2004-09-06
没人会吗?帮助UP吧
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-05 10:20
社区公告
暂无公告