上传文件的Servlet类

package com.test_SDK.servlet;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.intralinks.client.Document;
import com.intralinks.client.Session;
import com.intralinks.controllers.Controller_Documents;
import com.intralinks.exceptions.ILGenericException;
import com.test_SDK.util.Helpers;

/**
 * Servlet implementation class UploadDocument
 */
@WebServlet("/servlet/UploadDocument")
public class UploadDocument extends HttpServlet {
 private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public UploadDocument() {
        super();
        // TODO Auto-generated constructor stub
    }
 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub.
  doPost(request, response);
 }
 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  System.out.println("进入上传的servlet");
  request.setCharacterEncoding("utf-8");
  response.setCharacterEncoding("utf-8");
  Session session=Helpers.getSession(request);
  File saveDirectory = new File(System.getProperty("java.io.tmpdir"));
  if (saveDirectory.exists() == false)
  {
   saveDirectory.mkdir();
  }
  int file_maxSize = 50 * 1024 * 1024;
  int tempSize = 100 * 1024 * 1024;
  DiskFileItemFactory factory = new DiskFileItemFactory();
  factory.setSizeThreshold(tempSize);
  factory.setRepository(saveDirectory);
  ServletFileUpload upload = new ServletFileUpload(factory);
  upload.setSizeMax(file_maxSize);
  List<FileItem> items = null;
  try
  {
   items = upload.parseRequest(request);
   String workspaceId="";
   String FolderId="";
   Document document=new Document();;
   InputStream inputStream=null;
   for (FileItem item : items)
   {
    
    if (!item.isFormField())
    {
     System.out.println(item.getName());
     document.setParentId("");
     document.setMimeType(item.getContentType());
     document.setName(item.getName().substring(0,item.getName().lastIndexOf(".")));
     inputStream=item.getInputStream();
    }else{
     if(item.getFieldName().equals("workspaceID")){
      workspaceId=item.getString();
     }
     if(item.getFieldName().equals("FolderID")){
      FolderId=item.getString();
     }
    }
   }
   document.setParentId(FolderId);
   System.out.println(workspaceId);
   System.out.println(document.getParentId());
   System.out.println(document.getName());
   try
   {
    Controller_Documents.createDocument(workspaceId, document, inputStream, session);
    response.getWriter().append("You upload the ["+document.getName()+"] file to the "+workspaceId+" working space, and upload the file to the "+document.getParentId()+" folder");
   }
   catch (ILGenericException e)
   {
    e.printStackTrace();
    response.getWriter().append(e.getMessage());
   }
  }
  catch (FileUploadException e)
  {
   e.printStackTrace();
  }
 }
}

你可能感兴趣的:(上传文件的Servlet类)