Servlet3.0 文件上传

文件上传前台必要条件

1.post请求
2.表单属性类型file
3.enctype类型为multipart/form-data

	<form action="${pageContext.request.contextPath }/uploadServlet" method ="post" enctype="multipart/form-data">
		照片:<input type="file" name="photo" />		
		<br>
		<input type="submit" value="上传" />
	</form>

获取文件上传

package com.javaweb.servlet3;

import java.io.IOException;

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;

@WebServlet("/uploadServlet")
@MultipartConfig//表明是能够处理multipart请求
public class UploadServlet extends HttpServlet {

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		//获取目标文件存储路径,放在webContent目录下的images目录里面。
		String path = this.getServletContext().getRealPath("/images");
		//从请求中获取MultiPart请求的上传文件的名为photo的对象,
		Part part = request.getPart("photo");
		//解析文件名
		String header = part.getHeader("Content-Disposition");
		int index = header.lastIndexOf("=");
		String filename = header.substring(index+2,header.length()-1);
		//完成文件上传
		part.write(path+"/"+filename);
	}

}

发布了127 篇原创文章 · 获赞 8 · 访问量 6276

猜你喜欢

转载自blog.csdn.net/OVO_LQ_Start/article/details/105074290