上传单个文件:
singleFileUpload.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>single file upload</title>
</head>
<body>
<form action="SingleFileUploadServlet" method="post" enctype="multipart/form-data">
上传文件:<input type="file" name="file" /> <br/>
<input type="submit" name="upload" value="上传"/>
</form>
</body>
</html>
SingleFileUploadServlet.java
package com.ekunt;
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;
/**
* 上传存储单个文件
* @author E-Kunt
*
*/
@MultipartConfig(location="G:/java/J2EE/workspace/Demo5FileUpload/file")
@WebServlet("/SingleFileUploadServlet")
public class SingleFileUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public SingleFileUploadServlet() {
super();
}
//截取文件名
public String getFileNameFromPart(Part part) {
String header = part.getHeader("Content-Disposition");
String fileName = header.substring(header.indexOf("filename=\"")+10, header.lastIndexOf("\""));
return fileName;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("error,it must be POST method!");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
Part part = request.getPart("file");
String fileName = getFileNameFromPart(part);
part.write(fileName);
response.getWriter().write("upload succeed!");
}
}
上传多个文件:
multiFileUpload.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>multi file upload</title>
</head>
<body>
<form action="MultiFileUploadServlet" method="post" enctype="multipart/form-data">
上传文件1:<input type="file" name="file1" /> <br/>
上传文件2:<input type="file" name="file2" /> <br/>
上传文件3:<input type="file" name="file3" /> <br/>
上传文件4:<input type="file" name="file4" /> <br/>
上传文件5:<input type="file" name="file5" /> <br/>
<input type="submit" name="upload" value="上传"/>
</form>
</body>
</html>
MultiFileUploadServlet.java
package com.ekunt;
import java.io.IOException;
import java.util.ArrayList;
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;
/**
* 上传存储多个文件
* @author E-Kunt
*
*/
@MultipartConfig(location="G:/java/J2EE/workspace/Demo5FileUpload/file")
@WebServlet("/MultiFileUploadServlet")
public class MultiFileUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public MultiFileUploadServlet() {
super();
}
//截取文件名
public String getFileNameFromPart(Part part) {
String header = part.getHeader("Content-Disposition");
String fileName = header.substring(header.indexOf("filename=\"")+10,header.lastIndexOf("\""));
return fileName;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("error,it must be POST method!");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
ArrayList<Part> partList = (ArrayList<Part>) request.getParts();
for(Part part : partList) {
if(part.getName().startsWith("file")){
String fileName = getFileNameFromPart(part);
part.write(fileName);
}
}
response.getWriter().write("upload succeed!");
}
}