common-fileupload文件上传

来源:互联网 发布:采集视频软件 编辑:程序博客网 时间:2024/05/08 19:01
private File uploadFileToDisk(HttpServletRequest request){
  File savedFile = null;
  String uploadPath = commonFunc.uploadpath+WorkEnv.getFilePath();
  File tempFilePath = new File(commonFunc.uploadpath+WorkEnv.getTempFilePath());
  if(!tempFilePath.exists()){
   tempFilePath.mkdirs();
  }
  File filePath = new File(uploadPath);
  if(!filePath.exists()){
   filePath.mkdirs();
  }
  DiskFileItemFactory factory = new DiskFileItemFactory();
  factory.setSizeThreshold(4096);
  factory.setRepository(tempFilePath);
  ServletFileUpload upload = new ServletFileUpload(factory);
  upload.setHeaderEncoding("UTF-8");
  try {
   List<FileItem> items  = upload.parseRequest(request);
   Iterator<FileItem> itemsIterator = items.iterator();
   while(itemsIterator.hasNext()){
    FileItem fileItem = itemsIterator.next();
    if(!fileItem.isFormField()){
     String name = fileItem.getName();
     Long size = fileItem.getSize();
     if ((name == null || name.equals("")) && size == 0)
      continue;
     if((!name.endsWith(".xls"))&&(!name.endsWith(".xlsx"))){
      logger.error("【只能上传Excel】:"+"上传考试计划");
      continue;
     }
     savedFile=new File(uploadPath,name); 
     fileItem.write(savedFile);
    }
   }
  } catch (FileUploadException e) {
   logger.error("【考试计划上传】:"+"解析上传的excel文件异常"+e);
  } catch (Exception e) {
   logger.error("【考试计划上传】:"+"把文件写入临时路径报错"+e);
  }
  return savedFile;
 }
原创粉丝点击