请问如何将数据库中以二进制形式存储的图片取出,在网页上显示出来?

解决方案 »

  1.   

                InputStream in=photoFile.getInputStream();//得到图片的数据流
                buffer = new byte[in.available()];
                in.read(buffer); 
    以上是将图片以二进制的形式存在数据库中,但是我不知道如何从数据库中取出二进制信息再在网页上转换为图片。
      

  2.   

    response.reset();
           response.setContentType("image/jpeg");
    这两个可是必要的!
      

  3.   

    首先创建一个文空文件
    File = new File(path);
    然后用输出流将二进制数据写入创建的文件
    例如FileOutputStream类!
      

  4.   

    我以前回答过这个问题,
    现在才二十分,太少了.    我倒是想问你怎么把图处存进去.
    我知道怎么取出并显示在浏览器上.Email:[email protected]
      

  5.   

    使用JDBC来把图像保存在数据库以及从数据库读出图像,具体的数据库是有一些区别的,特别是oracle的处理比较特殊,至于将图片取出后在网页上显示,前面的朋友说的对,就是直接把流发给浏览器。
      

  6.   

    提供一段我以前写的代码供参考:
    byte buffer[] = new byte[65536];
                InputStream input = null;
    ...
    response.setContentType("image/jpeg");
     OutputStream os = resp.getOutputStream(); int readLen = input.read(buffer, 0, 65536);
                while (readLen >= 0) {
                    if (readLen > 0) {
                        os.write(buffer, 0, readLen);
                    }
                    readLen = input.read(buffer, 0, 65536);
                }input.close();
                os.flush();
                os.close();
      

  7.   

    OutputStream os = resp.getOutputStream();
       PreparedStatement  ps  =conn.prepareStatement(sql);  
            ps.getBinaryStream(1,os,l2);   
            ps.executeQuery();
      

  8.   

    to wzrain:我只是想探讨一下这个技术细节而已。