日期:2014-05-18  浏览次数:20715 次

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

我在网上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();
......
 
------解决方案--------------------
低手路过