• form表单上传域(type="file")的使用----上传文件


    一,单个文件的上传

    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}/FileSer"  method="post" enctype="multipart/form-data">
        <table>
            <tr>
                <td>上传文件</td>
                <td> 
                    <input type="file" name="fileN" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="submit" />
                    <input type="reset" />
                </td>
            </tr>
        </table>
        </form>
    </body>
    </html>

    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");
            
            arg2.doFilter(request, response);
        }
    
        @Override
        public void init(FilterConfig arg0) throws ServletException
        {
    
        }
    
    }
    Filter01.java

    3.处理html/jsp

    package com.ser;
    
    import java.io.File;
    import java.io.IOException;
    
    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;
    
    /**
     * Servlet implementation class FileSer
     */
    @WebServlet("/FileSer")
    @MultipartConfig(location="e://uploadFile",
            fileSizeThreshold=1024*1024*1000,
            maxFileSize=1024*1024*1000,
            maxRequestSize=1024*1024*1024
            )
    public class FileSer extends HttpServlet {
        private static final long serialVersionUID = 1L;
         
        private static final String location="e://uploadFile";
        /**
         * @see HttpServlet#HttpServlet()
         */
        public FileSer() {
        
        }
    
        @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 {
            Part part= request.getPart("fileN");
            String fileType=part.getContentType();
            String fileHeader=part.getHeader("content-disposition");
            //String fileName=part.getName();
            long size=part.getSize();
            
            System.out.println(part);
            System.out.println(fileType);
            System.out.println(fileHeader);
            //System.out.println(fileName);
            System.out.println(size);
            String filename=fileHeader.substring(fileHeader.indexOf("filename=")+10, fileHeader.lastIndexOf("""));
            part.write(filename);        
            response.getWriter().print(filename+"上传成功");
        }
    
    }
    FileSer.java
  • 相关阅读:
    一、保护模式
    什么是docker swarm configs?及其在service中的使用?
    k8s将dockershim移除之后,如何继续使用docker?
    如何通过secrets保存敏感的数据?并且在service中使用?
    docker commit其实是干了这些事情?
    使用secret时,如何指定secret在容器中的名字?
    Docker, containerd, CRIO and runc之间的区别?
    如何在k8s工作节点上,查看容器对应的pod的名字?
    如何锁定swarm集群?
    docker swarm集群中,你必须知道的几种网络流量类型?
  • 原文地址:https://www.cnblogs.com/waarp/p/7275487.html
Copyright © 2020-2023  润新知