你看看http://www.csdn.net/Expert/TopicView1.asp?id=757317

解决方案 »

  1.   

    我已经看过了,但我是要存在oracle啊!!!!!!!!!!!!
      

  2.   

    存Oracle必须要将内容转换成二进制字节的Blob或Clob类型吧
      

  3.   

    转帖,找一到原帖了,只有再帖一次。可能对你有帮助。=======================页面======================
    ...
    <img src=showimage.jsp?ID=1234>
    ...
    =======================showimage.jsp=================
    <%@ page language="java" import="java.sql.*,java.util.*"%>
    <%
        String image_id = (String) request.getParameter("ID");
        if (image_id != null){
              try 
              {
                 Class.forName("oracle.jdbc.driver.OracleDriver");
              Connection con = DriverManager.getConnection("jdbc:oracle:thin:scott/[email protected]:1243:myInstance","java","java");
               Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM IMMAGINE WHERE IMMAGINE_ID = " + image_id);
            if (rs.next())
                {
            String dim_image = rs.getString("IMMAGINE_DIMENSIONE");
            byte [] blocco = rs.getBytes("IMMAGINE_IMMAGINE");
            response.setContentType("image/jpeg");
            ServletOutputStream op = response.getOutputStream();
            for(int i=0;i<Integer.parseInt(dim_image);i++)
            {
                op.write(blocco[i]);
            }
             } 
           rs.close();
           stmt.close();
           con.close();
         } catch(Exception e) {
            out.println("An error occurs : " + e.toString());                
             }            
        }
    %> 
     
     
     
     回复人: skyyoung(路人甲) (  ) 信誉:105  2001-4-2 10:56:00  得分:0  
     
     
      补充:如何保存图片到数据库File file = new File("myimage.gif");
    FileInputStream fis = new FileInputStream(file);
    PreparedStatement ps = 
       conn.prepareStatement("insert into images values (?,?)");
    ps.setString(1,file.getName());
    ps.setBinaryStream(2,fis,file.length());
    ps.executeUpdate();
    ps.close();
    fis.close(); 
     
     
    Top 
     
     回复人: cpu88(天天向上) (  ) 信誉:100  2001-4-11 15:25:00  得分:0  
     
     
      ...
    <img src=showimage.jsp?ID=1234>
    ...
    =======================showimage.jsp=================
    <%@ page language="java" import="java.sql.*,java.util.*"%>
    <%
        String image_id = (String) request.getParameter("ID");
        if (image_id != null){
              try 
              {
                Class.forName("oracle.jdbc.driver.OracleDriver");
              Connection con = DriverManager.getConnection("jdbc:oracle:thin:scott/[email protected]:1243:myInstance","java","java");
              Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM IMMAGINE WHERE IMMAGINE_ID = " + image_id);
            if (rs.next())
                {
            String dim_image = rs.getString("IMMAGINE_DIMENSIONE");
            byte [] blocco = rs.getBytes("IMMAGINE_IMMAGINE");
            response.setContentType("image/jpeg");
            ServletOutputStream op = response.getOutputStream();
            for(int i=0;i<Integer.parseInt(dim_image);i++)
            {
                op.write(blocco[i]);
            }
            } 
          rs.close();
          stmt.close();
          con.close();
         } catch(Exception e) {
            out.println("An error occurs : " + e.toString());                
            }            
        }
    %> 
     
     
    Top 
     
     回复人: tiangou(分数不多就去灌水乐园) (  ) 信誉:105  2001-5-22 13:18:00  得分:0  
     
     
      good 
     
     
    Top 
     
     回复人: skyyoung(路人甲) (  ) 信誉:105  2001-9-17 13:43:20  得分:0  
     
     
      补充:如何保存图片到数据库java.sql.Connection lConn = null;
        java.sql.Statement lStat = null;
        java.sql.ResultSet lRs = null;
        try
        {      
          DBConnectionManager lDB = DBConnectionManager.getInstance();
          lConn =  lDB.getConnection("ORACLE");
          lStat = lConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          lStat.executeUpdate("insert id,EMPTY_BLOB() from tab where id=2");
          lRs = lStat.executeQuery("select pic from tab where id=2");
          if(lRs.next())
          {
            oracle.sql.BLOB blob = (oracle.sql.BLOB)lRs.getBlob("pic");
            OutputStream outstream = blob.getBinaryOutputStream();
            byte[] bAtt = "data".getBytes();
            outstream.write(bAtt,0,bAtt.length);
            outstream.close();
            lRs.updateBlob("pic",blob);
          }
          
        }
        catch(Exception e)
        {
          e.printStackTrace();       
        }
        finally
        {
          try{lRs.close();}catch(Exception e){}  
          try{lStat.close();}catch(Exception e){}  
          try{lConn.close();}catch(Exception e){}  
        } 
     
     
    LOB的读写:
    http://oradoc.photo.net/ora816/java.816/a81354/oralob2.htm
    http://forum.java.sun.com/thread.jsp?forum=48&thread=175332