用jspsmartupload将文件上传至服务器,然后在服务器端将文件写入ORACLE时出错
java.sql.SQLException: Io 异常: Connection reset
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2061)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout但是上传一个几K大小的文件则不会出错,只要文件大小大于几K就会报上面的错
文件可以传到服务器端.代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import ="com.jspsmart.upload.*" %>
<%@ page import ="java.sql.*" %>
<%@ page import = "com.oa.common.*" %>
<%@ page import = "com.oa.dbase.*" %><jsp:useBean id ="fm" class = "com.oa.webfolder.FileManage" scope = "request" />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'doupload.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  
  <body>
    <%
        try{ 
  //   新建一个SmartUpload对象   
  SmartUpload   su   =   new   SmartUpload();   
  //   上传初始化   
  su.initialize(pageContext);   
  //su.setAllowedFilesList("doc,txt,jpg");
  su.setMaxFileSize(200*1024*1024);
  su.setTotalMaxFileSize(200*1024*1024*20000);
  
  su.upload();
  String parentid = (String)su.getRequest().getParameter("parentid");
  for(int i=0;i<su.getFiles().getCount();i++){
      File tFile = su.getFiles().getFile(i);
      if(!tFile.isMissing()){
          String tFileName = tFile.getFileName();
          //String suffix=tFileName.substring(0,tFileName.lastIndexOf('.'));
          String ext = su.getFiles().getFile(0).getFileExt();
          int fileSize= tFile.getSize();
          
          //保存路径
          String savePth = request.getSession().getServletContext().getRealPath("/")+"upload/";
          String trace = savePth + tFileName;
          
          tFile.saveAs(trace,su.SAVE_PHYSICAL);
          
          java.io.File file = new java.io.File(trace);
          //java.io.FileInputStream fis = new java.io.FileInputStream(file);
          java.io.DataOutputStream fileout=new java.io.DataOutputStream(new java.io.FileOutputStream(file));
          java.io.FileInputStream fi=new java.io.FileInputStream(file);
          
          byte[]   fileByte   =   new   byte[tFile.getSize()];   
          for(int j = 0 ;j<tFile.getSize();j++)   {   
              fileByte[j]= tFile.getBinaryData(j);   
          }   
          
          int li = fi.read(fileByte,0,fileByte.length-1);
          fileout.write(fileByte,0,fileByte.length-1);
          
          String mSql = null;
          PreparedStatement pstmt = null;
          Connection conn = DatabaseConn.getConnection();
          
          //com.oa.message.DatabaseConn db = new com.oa.message.DatabaseConn();
          //Connection conn = db.getConnection();
          
          
          mSql = "insert into OA_FILE values(?,?,?,?,?,?,?)";
          pstmt = conn.prepareStatement(mSql);
          pstmt.setInt(1,fm.getMaxID());          pstmt.setInt(2,101);
          pstmt.setInt(3,Integer.parseInt(parentid));
         
          pstmt.setString(4,tFileName);
          
          pstmt.setString(5,ext);
          
          pstmt.setInt(6,fileSize);
         
          pstmt.setBinaryStream(7,fi,(int)fileByte.length-1); 
          
          pstmt.execute();
          conn.close();
      }
  }
          response.sendRedirect("mydocument.jsp");
          
        }
        catch(Exception e){
           e.printStackTrace();
        }  
    %>     </body>
</html>
其中ORACLE中使用BLOB来存放文件内容.
请问为什么文件稍微一大就不能上传呢?急~~~