대량 업로드 구현

1651 단어 jspext
1. 파일 업로드 논리
public void fileUpload(HttpServletRequest request){
  String uploadPath = "fileUpload";
  String tmpPath = "tmpUpload";
  if (!new File(uploadPath).exists()) {
    new File(uploadPath).mkdirs();
  }
  if (!new File(tmpPath).exists()) {
    new File(tmpPath).mkdirs();
  }
  DiskFileUpload fu = new DiskFileUpload();
  fu.setSizeMax(4194304); //  
  fu.setSizeThreshold(4096); //  
  fu.setRepositoryPath(tmpPath); //  
  
  Iterator it = fu.parseRequest(request).iterator();
  while (it.hasNext()) {
       FileItem fileItem = (FileItem) it.next();
    if (!fileItem.isFormField()) { //  
      if (fileItem.getSize() > 0) {
        String ext = fileItem.getName().substring(fileItem.getName().lastIndexOf("."));
        String filePath = uploadPath + File.separator + Calendar.getInstance().getTimeInMillis() + ext;
        File file = new File(filePath);
        if (!file.exists()) {
          file.createNewFile();
        }
        fileItem.write(file);
      }
    }
  }

}


2. fileUpload.jsp

<form action="upload.jsp" enctype="multipart/form-data">
  <input type="file" name="file">
  <input type="file" name="file">
  ......
    <input type="submit" name="submit" value="upload">
</form>

주: 사용한 패키지commons-fileupload.jar

좋은 웹페이지 즐겨찾기