package cn.ac.ict.sql;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.FileItem;
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.fileupload.FileUploadException;
import java.lang.Exception;
import java.io.InputStream;import java.lang.String;
import java.lang.Object;public class fileupload extends HttpServlet
{
private String uploadpath="D:\\tomcat5.5\\uploadpath\\";
private File tempPath=new File("D:\\tomcat5.5\\temppath\\");
public void init() throws ServletException{
if(!new File(uploadpath).isDirectory())
{ new File(uploadpath).mkdir();}
if(!tempPath.isDirectory())
{ tempPath.mkdir();}}
      
  public void doPost(HttpServletRequest req,HttpServletResponse res)throws IOException,ServletException {
res.setContentType("text/html;charset=gb2312");
PrintWriter out=res.getWriter();
System.out.println(req.getContentLength());
System.out.println(req.getContentType());
        try{DiskFileItemFactory factory=new DiskFileItemFactory();
factory.setSizeThreshold(4096);
factory.setRepository(tempPath);
ServletFileUpload upload=new ServletFileUpload(factory);
upload.setSizeMax(1000000);
List fileItems=null;
fileItems=upload.parseRequest(req);
Iterator iter=fileItems.iterator();
while(iter.hasNext())
  {FileItem item=(FileItem)iter.next();
if(!item.isFormField())
  {String path=item.getName();
Long size=item.getSize();
if(path==null || size==0)
  {continue;}
  
else
{int n=path.lastIndexOf("\\");
  String name=path.substring(n+1);
                  InputStream inStream=item.getInputStream();    // File file=new File(tempPath+name);
               
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
             //Connection conn=null;
             String user="user";
             String password="8844193";
 //int article_id=0;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
 Connection conn=DriverManager.getConnection(url,user,password);
 String sql="insert into article values(?,?,?)";
                 PreparedStatement prest=conn.prepareStatement(sql);
                  Calendar   cc   =   Calendar.getInstance(Locale.CHINA);   
 //article_id=article_id+1;
                 //prest.setInt=(1,article_id);
 prest.setBinaryStream(1,inStream, int(size));
 prest.setLong(2,size);
 prest.setTimestamp(3,new  Timestamp(cc.getTime().getTime()));    
 prest.executeUpdate();
                  inStream.close();
 prest.close();
 conn.close();
 }
  }
else{ throw new IOException("fail to upload");}
     }
    }catch (FileUploadException fu)
    {out.println("error"+fu);}
              catch(Exception e)
         {out.println("88"+e);}
        }
}
javac编译时提示以下错误信息fileupload.java:76: 需要 ".class"
                                 prest.setBinaryStream(1,inStream, int(size));
                                                                      ^
fileupload.java:76: 需要 ')'
                                 prest.setBinaryStream(1,inStream, int(size));
不知道是不类型转换那出了问题?
                                                                             ^