zoukankan      html  css  js  c++  java
  • 前端js上传文件 到后端接收文件

    下面是前端js代码:

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
        <title>File upload</title>
    </head>
    <body>
    <!--  // action="fileupload"对应web.xml中<servlet-mapping>中<url-pattern>的设置. -->
        <form name="myform" action="fileupload" method="post"
           enctype="multipart/form-data">
           File:<br>
           <input type="file" name="myfile"><br>
           <br>
           <input type="submit" name="submit" value="Commit">
        </form>
    </body>
    </html>

    下面是后端的java代码:

    package com.zj.sample;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
     
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
     
    
    /**
     * Servlet implementation class Upload
     */
    @WebServlet("/Upload")
    public class Upload extends HttpServlet {
        private static final long serialVersionUID = 1L;
        private String uploadPath = "D:\temp"; // 上传文件的目录
        private String tempPath = "d:\temp\buffer\"; // 临时文件目录
        File tempPathFile; 
        /**
         * @see HttpServlet#HttpServlet()
         */
        public Upload() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        @SuppressWarnings("unchecked")
        public void doPost(HttpServletRequest request, HttpServletResponse response)
               throws IOException, ServletException {
           try {
               // Create a factory for disk-based file items
               DiskFileItemFactory factory = new DiskFileItemFactory();
     
               // Set factory constraints
               factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
               factory.setRepository(tempPathFile);// 设置缓冲区目录
     
               // Create a new file upload handler
               ServletFileUpload upload = new ServletFileUpload(factory);
     
               // Set overall request size constraint
               upload.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MB
     
               List<FileItem> items = upload.parseRequest(request);// 得到所有的文件
               Iterator<FileItem> i = items.iterator();
               while (i.hasNext()) {
                  FileItem fi = (FileItem) i.next();
                  String fileName = fi.getName();
                  if (fileName != null) {
                      File fullFile = new File(fi.getName());
                      File savedFile = new File(uploadPath, fullFile.getName());
                      fi.write(savedFile);
                  }
               }
               System.out.print("upload succeed");
           } catch (Exception e) {
               // 可以跳转出错页面
               e.printStackTrace();
           }
        }
        public void init() throws ServletException {
            File uploadFile = new File(uploadPath);
            if (!uploadFile.exists()) {
                uploadFile.mkdirs();
            }
            File tempPathFile = new File(tempPath);
             if (!tempPathFile.exists()) {
                tempPathFile.mkdirs();
            }
         }
    }

    web.xml 的配置

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>tom2</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
        <servlet-name>Upload</servlet-name>
        <servlet-class>com.zj.sample.Upload</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Upload</servlet-name>
        <url-pattern>/home/fileupload</url-pattern>
      </servlet-mapping>
    </web-app>

    文件结构:

  • 相关阅读:
    腾讯招聘爬虫
    中华人民行政部网站爬虫
    百度翻译爬虫
    easyui 对form扩展
    Anaconda 安装和使用
    MongoDB基础教程系列--目录结构
    MongoDB基础教程系列--第九篇 MongoDB 分片
    MongoDB基础教程系列--第八篇 MongoDB 副本集实现复制功能
    MongoDB基础教程系列--第七篇 MongoDB 聚合管道
    MongoDB基础教程系列--第六篇 MongoDB 索引
  • 原文地址:https://www.cnblogs.com/huhuuu/p/4294173.html
Copyright © 2011-2022 走看看