下面給大家看一個案列
前臺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 name: input type= text id= name / 文件: input type= file id= file / button id= btu quot;btu() 提交 /button /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實現文件上傳的實現步驟的詳細內容,html教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答