⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileuploadservlet.java

📁 Ajax實現檔案上傳功能,ajax file upload
💻 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 + -