package servlet;
import java.io.*;
import java.util.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class CommonUpload {    public CommonUpload() {
    }
    protected void doPost(HttpServletRequest request , HttpServletResponse reponse)throws ServletException,IOException{
     DiskFileItemFactory factory = new DiskFileItemFactory();
     factory.setRepository(new File(request.getRealPath("/")));
     factory.setSizeThreshold(1024*1024*20);
     ServletFileUpload upload = new ServletFileUpload(factory);
     List items = null;
     try{
     items = upload.parseRequest(request);
     }catch(FileUploadException e){
     e.printStackTrace();
    }
    
      for(int i = 0 ; i < items.size(); i++){
       FileItem item = (FileItem)items.get(i);
       if(item.isFormfield()){
          String name = item.getFieldName();
          String value = item.getString("gbk");
          request.setAttribute("name", name);
          request.setAttribute("value", value);
       }else {
       String fieldName = item.getFiledName();
       String fileName = item.getName();
       String contentType = item.getContentType();
       FileOuputStream fos = new FileOuputStream(request.getRealPath("/")+
       System.currentTimeMillis()
       +fileName.substring(fileName.lastIndexof("."),fileName.length()));
       InputStream is = item.getInputStream();
       byte []  buffer = new byte [1024];
       int len ;
       while((len = is.read(buffer))>0){
       fos.write(buffer,0,len);
       }
       } 
      
      
   
       is.close();
       fos.close();
       request.setAttribute("FieldName",fieldName);
       request.setAttribute("fileName",fileName);
       request.setAttribute("contentType",contentType);
      }
    }
         RequestDispatcher rd = request.getRequestDispatcher("resultCommonUpload.jsp");
                     rd.forward( HttpServletRequest request ,HttpServletResponse res);
  
  
    
}