zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Azure 虚拟机安全加固整理
    AzureARM 使用 powershell 扩容系统磁盘大小
    Azure Linux 云主机使用Root超级用户登录
    Open edX 配置 O365 SMTP
    powershell 根据错误GUID查寻错误详情
    azure 创建redhat镜像帮助
    Azure Powershell blob中指定的vhd创建虚拟机
    Azure Powershell 获取可用镜像 PublisherName,Offer,Skus,Version
    Power BI 连接到 Azure 账单,自动生成报表,可刷新
    Azure powershell 获取 vmSize 可用列表的命令
  • 原文地址:https://www.cnblogs.com/waarp/p/7275487.html
Copyright © 2011-2022 走看看