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
  • 相关阅读:
    【JavaScript】WebBrowser控件下IE版本的检测
    【ArcGIS】Oracle RAC下创建地理数据库(Create Enterprise Geodatabase)失败的解决方法
    【IOS】从零开始搭建基于Xcode7的IOS开发环境和免开发者帐号真机调试运行第一个IOS程序HelloWorld
    【Delphi】解决Delphi Distiller运行报错"HKEY_CURRENT_USER\" is of wrong kind or size
    【Oracle】根据字段值全库搜索相关数据表和字段
    【Android】彻底去除Google AdMob广告
    【Android】豆瓣FM离线数据
    【Android】反编译apk + eclipse中调试smali
    关于React前端构建的一般过程
    Consul入门
  • 原文地址:https://www.cnblogs.com/waarp/p/7275487.html
Copyright © 2011-2022 走看看