<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      h5里js與servlet完成文件上傳的完成步驟

      [摘要]這次教大家的是在H5里如何用JS和servlet來實現文件上傳,不過有一個前提條件,必須要是h5和jsp3.0版本,因為用到了新屬性,獲取file對象和后臺得到part對象。下面給大家看一個案列前臺jsp<%@ page language="java" contentTy...
      這次教大家的是在H5里如何用JS和servlet來實現文件上傳,不過有一個前提條件,必須要是h5和jsp3.0版本,因為用到了新屬性,獲取file對象和后臺得到part對象。

      下面給大家看一個案列

      前臺jsp

      <%@ page language="java" contentType="text/html; charset=utf-8"
          pageEncoding="utf-8"%>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://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>
      <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
      </head>
      <body>
          <p>
              name:<input type="text" id="name"/>
              文件:<input type="file" id="file"/>
              <br>
              <button id="btu" onclick="btu()">提交</button>
          </p>
      </body>
       
      <script>
          function btu(){
                  var name=$("#name").val();
                  var file=$("#file")[0].files[0];//新特性,獲取文件對象
                  var fordata=new FormData();//新特性,得到formData對象,把獲取的值扔進去,相當于map
                  fordata.append("name",name);
                  fordata.append("file",file);
                  console.log(file)
                  $.ajax({
                      url:"/war-2/UpdataFile",
                      data:fordata,
                      cache:false,
                      processData:false, //必須寫
                      contentType:false, //必須寫
                      type:"post",
                      success:function(data){
       
                      }
                  })
          }
      </script>
      </html>

      后臺java

      package up;
       
      import java.io.File;
      import java.io.IOException;
      import java.util.Collection;
       
      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 UpdataFile
       */
      @MultipartConfig(location="E:/")
      @WebServlet("/UpdataFile")
      public class UpdataFile extends HttpServlet {
          private static final long serialVersionUID = 1L;
       
          private File file;
          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
                  System.out.println("1111111111");
          }
       
          /**
           * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
           */
          protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
              //得到part對象,這個對象有write的方法,直接寫到指定位置。但是千萬別忘了寫@MultipartConfig(location="E:/")注解,不指定位置默認是寫到注解指定的位置。
              Part part = request.getPart("file");
              //普通的字段可以采用常規的getparamter的方法得到。
              System.out.println(new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8"));
              System.out.println(part.getName());
              System.out.println(part.getHeader("Content-Disposition"));
              System.out.println(part.getSize());
              String fileName = getFileNameFromPart(part);  
              part.write(fileName); 
          }
           //截取文件名  
          public String getFileNameFromPart(Part part) {  
              String header = part.getHeader("Content-Disposition");  
              String fileName = header.substring(header.indexOf("filename=\"")+10, header.lastIndexOf("\""));  
              return fileName;  
          } 
      }


      相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

      相關閱讀:

      html5中的DOM編程的實現步驟

      用H5做有特效的下拉框

      HTML里FormData對象的詳細介紹

      以上就是h5里js和servlet實現文件上傳的實現步驟的詳細內容,更多請關注php中文網其它相關文章!


      網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




      日韩精品一区二区三区高清