• form表单多文件上传


    1.html/jsp主页

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <%
        String path=request.getContextPath();
        request.setAttribute("path", path);
    %>
    </head>
    <body>
    <form action="${path}/MultiUp"  method="post" enctype="multipart/form-data">
        <table>
            <tr>
                <td>上传文件</td>
                <td> 
                    <input type="file" name="fileN1" />
                </td>
            </tr>
            <tr>
                <td>上传文件</td>
                <td> 
                    <input type="file" name="fileN2" />
                </td>
            </tr>
            <tr>
                <td>上传文件</td>
                <td> 
                    <input type="file" name="fileN3" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="submit" />
                    <input type="reset" />
                </td>
            </tr>
        </table>
        </form>
    </body>
    </html>
    duoUp.jsp


    2.过滤器解决编码问题

    package com.ser;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class Filter01 implements Filter
    {
    
        @Override
        public void destroy()
        {
    
        }
    
        @Override
        public void doFilter(ServletRequest arg0, ServletResponse arg1,
                FilterChain arg2) throws IOException, ServletException
        {
            HttpServletRequest request= (HttpServletRequest)arg0;
            HttpServletResponse response=(HttpServletResponse)arg1;
            request.setCharacterEncoding("utf-8");
            response.setCharacterEncoding("utf-8");
            response.setContentType("text/html charset=utf-8");
            
            //System.out.println(">>>>>>>>>>>>");
            arg2.doFilter(request, response);
        }
    
        @Override
        public void init(FilterConfig arg0) throws ServletException
        {
    
        }
    
    }
    Filter01.java


    3.多文件上传服务器处理

    package multiup;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Collection;
    import java.util.Collections;
    
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.MultipartConfig;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.Part;
    
    import org.apache.commons.collections.CollectionUtils;
    
    /**
     * Servlet implementation class MultiUp
     */
    @WebServlet("/MultiUp")
    @MultipartConfig(location="e://uploadFile",
            fileSizeThreshold=1024*1024*10,
            maxFileSize=1024*1024*200,
            maxRequestSize=1024*1024*300
            )
    public class MultiUp extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public MultiUp() {
        }
        
        
        
        @Override
        public void init(ServletConfig config) throws ServletException
        {
            File file = new File("e://uploadFile");
            if(!file.exists()&&!file.isDirectory())
            {
                file.mkdir();
            }
            
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
            Collection<Part> parts= request.getParts();
            StringBuffer sb=new StringBuffer();
            
            if(!CollectionUtils.isEmpty(parts))
            {
                for(Part part:parts)
                {
                    String header=part.getHeader("content-disposition");
                    String filename= header.substring(header.indexOf("filename")+10,header.lastIndexOf("""));
                    part.write(filename);
                    sb=sb.append(filename).append(",");
                }
            }
            
            String str =sb.toString().substring(0,sb.toString().length()-1);
            response.getWriter().print(str+"上传成功!");
        }
    
    }
    MultiUp.java
  • 相关阅读:
    jquery 点击图片弹出遮罩层查看大图
    js 禁止复制粘贴
    如何设置ASP.NET页面的运行超时时间
    Asp.net中DataBinder.Eval用法的总结
    C#中DateTime的缺陷与代替品DateTimeOffset的对吧
    itextsharp html转成pdf 特殊符号异常处理
    C#中DateTime和DateTimeOffset的对比
    最新版本sublime text3注册码
    System.Web.Optimization找不到引用
    nodejs npm常用命令
  • 原文地址:https://www.cnblogs.com/waarp/p/7281580.html
Copyright © 2020-2023  润新知