package sevlet;
import java.io.IOException;
import java.io.PrintWriter;
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 org.apache.commons.lang.StringUtils;
/**
* <form action="" method="post" enctype="multipart/form-data">
* <input type="file" name="filename"/>
* ------WebKitFormBoundarylAJMvADGM2XQONHa
*Content-Disposition: form-data; name="filename"; filename="http基础知识.doc"
*Content-Type: application/msword
*------WebKitFormBoundarylAJMvADGM2XQONHa
*Content-Disposition: form-data; name="submit"
*提交
*------WebKitFormBoundarylAJMvADGM2XQONHa--
* @author lcathm
*
*/
@MultipartConfig(location="D:/tmp/", maxFileSize=1024*1024*10)
@WebServlet(name="PartBodyContentServlet", urlPatterns={"/upload.do"},loadOnStartup=0)
public class PartBodyContent extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
//设置处理编码
request.setCharacterEncoding("UTF-8");
Part part = request.getPart("filename");
//获取文件名
String fileName = getFilename(part);
part.write(fileName);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<body>");
out.println("上传成功");
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}
//获取文件名
private String getFilename(Part part) {
if (part == null) {
return null;
}
String fileName = part.getHeader("content-disposition");
if (StringUtils.isBlank(fileName)) {
return null;
}
return StringUtils.substringBetween(fileName, "filename=\"","\"");
}
}
<pre name="code" class="java">package sevlet;
import java.io.IOException;
import java.io.PrintWriter;
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 org.apache.commons.lang.StringUtils;
/**
* <form action="" method="post" enctype="multipart/form-data">
* <input type="file" name="filename"/>
* ------WebKitFormBoundarylAJMvADGM2XQONHa
*Content-Disposition: form-data; name="filename"; filename="http基础知识.doc"
*Content-Type: application/msword
*------WebKitFormBoundarylAJMvADGM2XQONHa
*Content-Disposition: form-data; name="submit"
*提交
*------WebKitFormBoundarylAJMvADGM2XQONHa--
* @author lcathm
*
*/
@MultipartConfig(location="D:/tmp/", maxFileSize=1024*1024*10)
@WebServlet(name="PartBodyContentsServlet", urlPatterns={"/uploads.do"},loadOnStartup=0)
public class PartBodyContents extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
//设置处理编码
request.setCharacterEncoding("UTF-8");
request.getParts();
for(Part part :request.getParts()) {
if (part.getName().startsWith("filenam")) {
String filename = getFilename(part);
part.write(filename);
}
}
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<body>");
out.println("上传成功");
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}
//获取文件名
private String getFilename(Part part) {
if (part == null) {
return null;
}
String fileName = part.getHeader("content-disposition");
if (StringUtils.isBlank(fileName)) {
return null;
}
return StringUtils.substringBetween(fileName, "filename=\"","\"");
}
}