http://dev.csdn.net/develop/article/28/28796.shtm第11个

解决方案 »

  1.   

    我的jsp下载代码
    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ page import="java.io.*" %>
    <%@ page language="java" import="java.sql.*" %>
    <%@ page import="com.ezcross.rdas.client.ClientPropertyManager"%>
    <%   
     Connection conn = null;
     Statement stmt=null;
     ResultSet set=null;
     String DBDriver = null; 
     String dbdriver = ClientPropertyManager.getProperty("LOB_DRV");
     String dburl    = ClientPropertyManager.getProperty("LOB_URL");
     String username = ClientPropertyManager.getProperty("LOB_USR");
     String password = ClientPropertyManager.getProperty("LOB_PWD");
       Statement stmtBlob = null;
      Driver driver = null;
       /*??Oracle JDBC??*/
      driver = (Driver)Class.forName(dbdriver).newInstance();
      DriverManager.registerDriver(driver);
      //DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
      /*???????*/
      conn = DriverManager.getConnection(dburl, username, password);
      stmtBlob = conn.createStatement();        
      /*???BLOB?????*/
        String FILE_ID=request.getParameter("FILE_ID");
        String filename=request.getParameter("FILENAME");
        String contenType=request.getParameter("contenType");
        String sql="";
        sql="SELECT FILE_CONTENT from T_DOC_FILES WHERE FILE_ID ='"+FILE_ID+"'";
      ResultSet rs = stmtBlob.executeQuery(sql);
        try{

    stmt = conn.createStatement();  
    set = stmt.executeQuery(sql);
    if(set.next()){
    InputStream in = set.getBinaryStream("FILE_CONTENT"); 
    response.reset();
    response.setContentType(contenType);
    response.setHeader("Content-Disposition", "filename="+filename);
    byte[] b = new byte[1024]; 
    int len;
    while((len=in.read(b))!=-1){
    response.getOutputStream().write(b); 
    }
    in.close(); 
    }
     }catch(Exception e){
     }finally{
    try{
    if(set!=null)
    set.close();
    }catch(java.sql.SQLException se){
    }
    try{
    if(stmt!=null)
    stmt.close();
    }catch(java.sql.SQLException se){
    }
       try{
       if(conn != null )
    conn.close();
       }catch(java.sql.SQLException se){
       } 
        }
     %>
    还是不行