📄 fileuploadservlet.java
字号:
package tw.idv.paulma;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.Document;
import org.apache.commons.io.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.*;
import org.apache.commons.fileupload.servlet.*;
import org.json.*;
/**
* @version 1.0
* @author
*/
public class FileUploadServlet extends HttpServlet {
public void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
// if(ServletFileUpload.isMultipartContent(request)) {
// Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
factory.setSizeThreshold(32768);
factory.setRepository(new File(request.getSession().getServletContext().getRealPath("Temp")));
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
//upload.setSizeMax(yourMaxRequestSize);
// Parse the request (return the list of FileItem)
List items = upload.parseRequest(request);
String folder = request.getSession().getServletContext().getRealPath("Uploaded");
Iterator it = items.iterator();
while(it.hasNext()) {
FileItem fileItem = (FileItem)it.next();
File saveFile = new File(folder + "/" + FilenameUtils.getName(fileItem.getName()));
fileItem.write(saveFile);
}
// updateUploadedFilesList(request.getSession());
// RequestDispatcher rd = request.getRequestDispatcher("uploaded.jsp");
// rd.forward(request, response);
// } else {
// if(request.getParameter("GetUploadedPercentage") != null) {
PrintWriter out = response.getWriter();
double readedPercent = ((Double)request.getSession().getAttribute(ServletFileUpload.READED_PERCENT)).doubleValue();
JSONObject objProgressInfo = new JSONObject().put("Percent", readedPercent);
out.write(objProgressInfo.toString());
out.flush();
out.close();
// }
// }
} catch (Exception e) {
System.err.println("Exception occured!!");
e.printStackTrace();
// RequestDispatcher rd = request.getRequestDispatcher("uploaded.jsp");
// rd.forward(request, response);
}
}
/**
*
*/
private void updateUploadedFilesList(HttpSession session) {
String folder = session.getServletContext().getRealPath("Uploaded");
File dir = new File(folder);
File[] files = dir.listFiles();
List list = new ArrayList();
for(int i=0, n=files.length; i<n; i++) {
list.add(files[i].getName());
}
session.setAttribute("UploadedFilesList", list);
}
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
processRequest(req, resp);
}
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
processRequest(req, resp);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -