文件的上传

//这个下载的程序需要一个jspsmartupload.jar包
package pro;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.io.*;
import java.util.*;
import com.jspsmart.upload.*;

public class UploadServlet
    extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  //Initialize global variables
  public void init() throws ServletException {
  }

  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    request.setCharacterEncoding("GBK");

    SmartUpload mySmartUpload = new SmartUpload();
    mySmartUpload.initialize(this.getServletConfig(), request, response);
    mySmartUpload.setMaxFileSize(1024*1024);
    try {
      mySmartUpload.upload();
      System.out.println("文件个数:"+mySmartUpload.getFiles().getCount());
      for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
        com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
        if (!myFile.isMissing()) {//是否缺少

          String myFileName = myFile.getFileName();
          System.out.println("文件名字:"+myFileName);
          StringTokenizer st = new StringTokenizer(myFileName, ".");
          String suffix = st.nextToken();
          String ext = st.nextToken();
          int fileSize = myFile.getSize();
          System.out.println("文件大小:"+fileSize);
          System.out.println("文件名:"+suffix);
          System.out.println("后缀:"+ext);
          String path = getServletContext().getRealPath("/") + "upload\\";//这个很有用,以后用这个
          String trace = path + myFileName;
          System.out.println(trace);
          myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
        }
      }
    }
    catch (SmartUploadException ex) {
      ex.printStackTrace();
    }
    catch (IOException ex) {
      ex.printStackTrace();
    }
    catch (ServletException ex) {
      ex.printStackTrace();
    }

  }

  //Clean up resources
  public void destroy() {
  }
}

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