uploadFile.jsp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ page import="java.io.*, java.util.*, org.apache.commons.fileupload.*, java.util.*" %>
  3. <%@ page import="org.apache.commons.fileupload.disk.*, org.apache.commons.fileupload.servlet.*" %>
  4. <%!
  5. public void upload(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
  6. String savePath = this.getServletConfig().getServletContext().getRealPath("");
  7. savePath = savePath + request.getParameter("uploadPath");
  8. File f1 = new File(savePath);
  9. //这里接收了uploadPath的值 System.out.println(request.getParameter("uploadPath"));
  10. if (!f1.exists()) {
  11. f1.mkdirs();
  12. }
  13. DiskFileItemFactory fac = new DiskFileItemFactory();
  14. ServletFileUpload upload = new ServletFileUpload(fac);
  15. upload.setHeaderEncoding("utf-8");
  16. List fileList = null;
  17. try {
  18. fileList = upload.parseRequest(request);
  19. } catch (FileUploadException ex) {
  20. return;
  21. }
  22. String fileNmae = request.getParameter("fileNmae");
  23. Iterator<FileItem> it = fileList.iterator();
  24. String name = "";
  25. String extName = "";
  26. while (it.hasNext()) {
  27. FileItem item = it.next();
  28. if (!item.isFormField()) {
  29. name = item.getName();
  30. long size = item.getSize();
  31. String type = item.getContentType();
  32. //System.out.println(size + " " + type);
  33. if (name == null || name.trim().equals("")) {
  34. continue;
  35. }
  36. // 扩展名格式:
  37. if (name.lastIndexOf(".") >= 0) {
  38. extName = name.substring(name.lastIndexOf("."));
  39. }
  40. File file = null;
  41. if(null != fileNmae && !"".equals(fileNmae)){
  42. file = new File(savePath + fileNmae);
  43. }else{
  44. do {
  45. name = new java.text.SimpleDateFormat("yyyyMMddhhmmss").format(new Date()); //获取当前日期
  46. name = name + (int)(Math.random()*90000+10000);
  47. file = new File(savePath + name + extName);
  48. } while (file.exists());
  49. }
  50. //File saveFile = new File(savePath + name + extName);
  51. try {
  52. item.write(file);
  53. } catch (Exception e) {
  54. e.printStackTrace();
  55. }
  56. }
  57. }
  58. if(null != fileNmae && !"".equals(fileNmae)){
  59. response.getWriter().print(fileNmae);
  60. }else{
  61. response.getWriter().print((name.trim() + extName.trim()).trim());
  62. }
  63. }
  64. %>
  65. <%
  66. upload(request, response);
  67. %>