从数据库中取出多条数据,每条数据中包含一个二进制图片。现在要在页面上将该多条数据展示出来,问题是只能显示一个图片,其它图片没有显示。不过,该图片的大小是所有图片大小之和。
我在网上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处理吧,简单合并肯定不行的。