http://www-900.ibm.com/developerWorks/cn/java/l-imgtxt/index.shtml

解决方案 »

  1.   

    //读取数据库blob字段
    sql="select blob_column from UTL_LOB_TEST where rownum=1";
             stmt = con.prepareStatement(sql);
             rs = stmt.executeQuery(sql);      Blob blob = null;
          byte[] bytes = null;
    if(rs.next())
    {
    try{
    oracle.sql.BLOB pic = (oracle.sql.BLOB)rs.getBlob("blob_column");
    //设定输出格式
            response.setContentType("images/jpeg");
    //将blob对象转换为输入流
            InputStream stream = pic.getBinaryStream();
    //定义输出流
            OutputStream os = response.getOutputStream();
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
    //开始输出
            while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
             os.write(buffer, 0, bytesRead);
    }        os.close();
            stream.close();
    }
    catch(Exception e){
    System.out.print(e.toString());
    }
    }
    rs.close();
      

  2.   

    这些都是我用过的技术,那如何从BufferedImage中取得byte列表?