在Servlet3.0中,新增了Part()接口,可以方便的进行文件上传处理。
@MultipartConfig标注可用来设置Servlet处理上传文件的相关信息,否则getPart()得到的结果将为null.
调用getPart()时要指定名称获得对应的Part对象,multipart/form-data发送的每个内容区段,都会有以下的标头信息:
Content-Disposition:form-data;name=“filename”; filename="caterpillar.jpg"
Content-Type: image/jpeg
@WebServlet("/ServletDemo")
@MultipartConfig //使用MultipartConfig注解标注改servlet能够接受文件上传的请求
public class ServletDemo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Part part = request.getPart("myfile");
String header = part.getHeader("content-disposition");
System.out.println(header);
String suffix = header.substring(header.lastIndexOf("."), header.length() - 1);
String realpath = getServletContext().getRealPath("