日期:2014-05-16 浏览次数:20669 次
1、代码: public Map<String, String> fileUpload(HttpServletRequest request,final String uploadPath) { log.debug("execute fileUpload method."); try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); List items = upload.parseRequest(request);// 上传文件解析 Iterator itr = items.iterator();// 枚举方法 while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); if (!item.isFormField()) {// 判断是文件还是文本信息 if (!"".equals(item.getName())) {// 判断是否选择了文件 // log.info("上传文件的大小:" + item.getSize()); // log.info("上传文件的类型:" + item.getContentType()); // item.getName()返回上传文件在客户端的完整路径名称 // log.info("上传文件的名称:" + item.getName()); // 此时文件暂存在服务器的内存当中 // log.info("filePath:=====" + filePath); File file = new File(uploadPath,item.getName()); // 获取根目录对应的真实物理路径 HashMap<String, String> hm = new HashMap(); hm.put("FileSize", String.valueOf(item.getSize())); item.write(file);// 保存文件在服务器的物理磁盘中 hm.put("FileType", item.getContentType()); String OldFileName = item.getName(); if (OldFileName.indexOf("\\") != -1) hm.put("OldFileName", OldFileName.substring(OldFileName.lastIndexOf("\\") + 1)); else hm.put("OldFileName", OldFileName); hm.put("FileName", item.getName()); fileMap.put(item.getFieldName(), hm); } } else { if (map.containsKey(item.getFieldName())) { map.put(item.getFieldName(), map.get(item.getFieldName()) + "," + item.getString("UTF-8")); } else { map.put(item.getFieldName(), item.getString("UTF-8"));// 表单中其他信息添加到Map中 } } } return map; } catch (Exception e) { log.error(e); e.printStackTrace(); return null; } } 2.调用 Map<String, String> sqlMap = fu.fileUpload(request, filePath); StruObject struObject = new StruObject(); if(fu.getFileMap() != null && fu.getFileMap().get("file") != null){ String fileName = fu.getFileMap().get("file").get("FileName"); struObject.setFileName(dateStr + fileName); } struObject.setStruId(sqlMap.get("struId")); struObject.setLoadRate(sqlMap.get("loadRate")); struObject.setRemark(sqlMap.get("remark")); struObject.setLoadType(sqlMap.get("loadType")); struObject.setProcedureName(sqlMap.get("procedureName")); struObject.setFilePath(datasqlPath + File.separator); struService.updateStru(struObject);?