日期:2014-05-20  浏览次数:20842 次

页面上显示多张二进制图片
从数据库中取出多条数据,每条数据中包含一个二进制图片。现在要在页面上将该多条数据展示出来,问题是只能显示一个图片,其它图片没有显示。不过,该图片的大小是所有图片大小之和。

我在网上baidu找到一个解释是:代码中将servletResponse.setContentType("image/jpeg");程序将所有图片作为一个图片来处理了。。。。。


请高手帮忙解决,代码如下:

......
 
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (Exception e) {
  System.out.println(e.toString() + "<br>");
}

try {
  while (rs.next()) {
  try {
  servletResponse.setContentType("image/jpeg");
  InputStream is = rs.getBinaryStream(1);
  int size = is.available();
  byte[] bytes = new byte[size];
  int n = 0;
  while ((n = is.read(bytes)) != -1) {
  out.write(bytes, 0, n);
  out.write("\r\n".getBytes());
  }
  } catch (Exception e) {
  System.out.println("write image error: " + e.toString());
  }
  }
  out.flush();  
} catch (Exception e) {
System.out.println("unable to close statment" + e.toString());
}
  out.close();
......


------解决方案--------------------
用ImageIO处理吧,简单合并肯定不行的。