我用的是SQL server2000

解决方案 »

  1.   

    楼主可以使用下面代码,其中conn要自己定义,showImage要换成自己的Sql语句:<%
     String showImage = " select * "+
                           " from t_attachment "+
                           " where upload_id='1210832040218' " ;
     
     BufferedInputStream inputImage = null;
     
     try{
      
      Statement st = conn.createStatement();
      ResultSet rs=st.executeQuery(showImage);
      String filename="";
      while(rs.next()) {
       Blob blob = (Blob)rs.getBlob("BINARYFILE");
       filename=rs.getString("FILENAME");
       inputImage = new BufferedInputStream(blob.getBinaryStream()); 
      }
      
        BufferedImage image = null;
        image=ImageIO.read(inputImage);
      ServletOutputStream sos = response.getOutputStream();
      JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
      encoder.encode(image);
      
      inputImage.close();
     } catch(SQLException se) {
      se.printStackTrace();
     } catch(IOException ie) {
      ie.printStackTrace();
     }
    %>
    </body>
    <%}
    catch(Exception e){
     
    }
    finally{
     closeConn(conn);
    }
    %> 
      

  2.   

    把图片的路径地址写入数据库,读取的时候直接用路径,再者可以转换成二进制,放入数据库中blob?很少用sqlserver,大致就以上两种,一般推荐使用第一种方式