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

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大小)。
...全文
157 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanyun229 2005-03-14
  • 打赏
  • 举报
回复
up
Qiushen 2004-09-10
  • 打赏
  • 举报
回复
晚上结贴,来几个接分的吧
松耦合紧内聚 2004-09-09
  • 打赏
  • 举报
回复
up
Qiushen 2004-09-08
  • 打赏
  • 举报
回复
怎么没人知道啊,真是郁闷,再没人知道我就要删贴了
Qiushen 2004-09-06
  • 打赏
  • 举报
回复
没人会吗?帮助UP吧

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧