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