利用getReader()和getInputstream()上传
package control; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; @WebServlet("/fileupload") public class Fileupload extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //request.setCharacterEncoding("utf-8"); //方法一 /* ServletInputStream sis=request.getInputStream(); byte[] tmp=new byte[8192]; File file=new File("E:\dc.zip"); FileOutputStream fos=new FileOutputStream(file); int i=sis.read(tmp); while (i!=-1){ fos.write(tmp,0,i); i=sis.read(tmp); } fos.close();*/ //方法二 BufferedReader br=request.getReader(); /*File file=new File("E:\da.doc"); BufferedWriter bw=new BufferedWriter(new FileWriter(file));*/ String s=br.readLine(); while (s!=null){ System.out.println(s); s=br.readLine(); } br.close(); PrintWriter out=response.getWriter(); out.write("success"); out.close(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
Servlet3.0中Part,getPart()文件上传
package control; 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; import java.io.IOException; @MultipartConfig(location = "e:\",maxFileSize = 1024*1024*2)//保存文件路径 @WebServlet("/ServletFile") public class ServletFile extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); Part part=request.getPart("file"); String head=part.getHeader("Content-Disposition");//获取文件头Content-Disposition System.out.println(head); //获取文件名 int start=head.lastIndexOf("=""); String filename=head.substring(start+2); filename=filename.substring(0,filename.length()-1); System.out.println(filename); part.write(filename); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
多文件上传getParts()就是把单文件用foreach()处理
//多文档上传 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); for (Part part:request.getParts()){ String head=part.getHeader("Content-Disposition");//获取文件头Content-Disposition System.out.println(head); //获取文件名 int start=head.lastIndexOf("=""); String filename=head.substring(start+2); filename=filename.substring(0,filename.length()-1); System.out.println(filename); part.write(filename);