亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uploadservlet.java

?? 一款基于ajax的上傳系統原文件.并且帶有進程條!
?? JAVA
字號:
package book.upload;

import java.io.*;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.*;

import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends HttpServlet {

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
        //創建HttpSession對象
		HttpSession session = request.getSession();

		if ("status".equals(request.getParameter("c"))) {//如果請求中c的值為status
			doStatus(session, response);//調用doStatus方法
		} else {//否則,調用doFileUpload方法
			doFileUpload(session, request, response);
		}
	}

	public void processUploadedFile(FileItem item) {
		//獲得上傳文件的文件名
		String fileName = item.getName().substring(item.getName().lastIndexOf("\\") + 1);
		//創建File對象,將上傳得文件保存到C:\\upload文件夾下
		File file = new File("C:\\upload\\", fileName);
		InputStream in;
		try {
			in = item.getInputStream();//獲得輸入數據流文件
			//將該數據流寫入到指定文件中
			FileOutputStream out = new FileOutputStream(file);
			byte[] buffer = new byte[4096]; // To hold file contents
			int bytes_read;
			while ((bytes_read = in.read(buffer)) != -1) // Read until EOF
			{
				out.write(buffer, 0, bytes_read);
			}
			if (in != null)
				try {
					in.close();
				} catch (IOException e) {
					;
				}
			if (out != null)
				try {
					out.close();
				} catch (IOException e) {
					;
				}
		} catch (IOException e1) {
			e1.printStackTrace();
		}
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
		doPost(request, response);
	}

	private void doFileUpload(HttpSession session, HttpServletRequest request,
			HttpServletResponse response) throws IOException {
		try {
			//創建UploadListener對象
			UploadListener listener = new UploadListener(request.getContentLength());
			listener.start();//啟動監聽狀態
			//將監聽器對象的狀態保存在Session中
			session.setAttribute("FILE_UPLOAD_STATS", listener.getFileUploadStats());
			//創建MonitoredDiskFileItemFactory對象
			FileItemFactory factory = new MonitoredDiskFileItemFactory(listener);
			//通過該工廠對象創建ServletFileUpload對象
			ServletFileUpload upload = new ServletFileUpload(factory);
			//將轉化請求保存到list對象中
			List items = upload.parseRequest(request);
			//停止使用監聽器
			listener.done();
			boolean hasError = false;
			//循環list中的對象
			for (Iterator i = items.iterator(); i.hasNext();) {
				FileItem fileItem = (FileItem) i.next();
				if (!fileItem.isFormField()) {//如果該FileItem不是表單域
					processUploadedFile(fileItem);//調用processUploadedFile方法,將數據保存到文件中
					fileItem.delete();//內存中刪除該數據流
				}
			}

			if (!hasError) {//如果沒有出現錯誤
				sendCompleteResponse(response, null);//調用sendCompleteResponse方法
			} else {
				sendCompleteResponse(response,
						"Could not process uploaded file. Please see log for details.");
			}
		} catch (Exception e) {
			sendCompleteResponse(response, e.getMessage());
		}
	}

	private void doStatus(HttpSession session, HttpServletResponse response)
			throws IOException {
		// 設置該響應不在緩存中讀取
		response.addHeader("Expires", "0");
		response.addHeader("Cache-Control",
				"no-store, no-cache, must-revalidate");
		response.addHeader("Cache-Control", "post-check=0, pre-check=0");
		response.addHeader("Pragma", "no-cache");
        //獲得保存在Session中的狀態信息
		UploadListener.FileUploadStats fileUploadStats = (UploadListener.FileUploadStats) session.getAttribute("FILE_UPLOAD_STATS");
		if (fileUploadStats != null) {
			long bytesProcessed = fileUploadStats.getBytesRead();//獲得已經上傳的數據大小
			long sizeTotal = fileUploadStats.getTotalSize();//獲得上傳文件的總大小
			//計算上傳完成的百分比
			long percentComplete = (long) Math.floor(((double) bytesProcessed / (double) sizeTotal) * 100.0);
			//獲得上傳已用的時間
			long timeInSeconds = fileUploadStats.getElapsedTimeInSeconds();
			//計算平均上傳速率
			double uploadRate = bytesProcessed / (timeInSeconds + 0.00001);
			// 計算總共所需時間
			double estimatedRuntime = sizeTotal / (uploadRate + 0.00001);
            //將上傳狀態返回給客戶端
			response.getWriter().println("<b>Upload Status:</b><br/>");
			if (fileUploadStats.getBytesRead() != fileUploadStats.getTotalSize()) {
				response.getWriter().println(
						"<div class=\"prog-border\"><div class=\"prog-bar\" style=\"width: "
								+ percentComplete + "%;\"></div></div>");
				response.getWriter().println(
						"Uploaded: " + bytesProcessed + " out of " + sizeTotal
								+ " bytes (" + percentComplete + "%) "
								+ (long) Math.round(uploadRate / 1024)
								+ " Kbs <br/>");
				response.getWriter().println(
						"Runtime: " + formatTime(timeInSeconds) + " out of "
								+ formatTime(estimatedRuntime) + " "
								+ formatTime(estimatedRuntime - timeInSeconds)
								+ " remaining <br/>");
			} else {
				response.getWriter().println(
						"Uploaded: " + bytesProcessed + " out of " + sizeTotal
								+ " bytes<br/>");
				response.getWriter().println("Complete.<br/>");
			}
		}
        //如果文件已經上傳完畢
		if (fileUploadStats != null&& fileUploadStats.getBytesRead() == fileUploadStats.getTotalSize()) {
			response.getWriter().println("<b>Upload complete.</b>");
		}
	}

	private void sendCompleteResponse(HttpServletResponse response,
			String message) throws IOException {
		if (message == null) {
			response.getOutputStream().print("<html><head><script type='text/javascript'>function killUpdate() { window.parent.killUpdate(''); }</script></head><body onload='killUpdate()'></body></html>");
		} else {
			response.getOutputStream().print("<html><head><script type='text/javascript'>function killUpdate() { window.parent.killUpdate('"
									+ message+ "'); }</script></head><body onload='killUpdate()'></body></html>");
		}
	}

	private String formatTime(double timeInSeconds) {
		long seconds = (long) Math.floor(timeInSeconds);
		long minutes = (long) Math.floor(timeInSeconds / 60.0);
		long hours = (long) Math.floor(minutes / 60.0);

		if (hours != 0) {
			return hours + "hours " + (minutes % 60) + "minutes "
					+ (seconds % 60) + "seconds";
		} else if (minutes % 60 != 0) {
			return (minutes % 60) + "minutes " + (seconds % 60) + "seconds";
		} else {
			return (seconds % 60) + " seconds";
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影免费观看高清完整版| 99v久久综合狠狠综合久久| 中文字幕一区视频| 国产欧美一区二区三区沐欲| 精品国产一区二区三区av性色| 日韩午夜中文字幕| 欧美精品在线视频| 91精品国产91久久久久久最新毛片 | 国产在线播放一区三区四| 蜜臀久久99精品久久久久久9| 午夜欧美在线一二页| 调教+趴+乳夹+国产+精品| 久久99最新地址| 国产91精品一区二区麻豆亚洲| 成人午夜电影久久影院| 91精品国产91热久久久做人人| 精品国产伦一区二区三区观看方式| 久久久av毛片精品| 中文字幕一区在线观看| 亚洲动漫第一页| 国内精品久久久久影院一蜜桃| 成人一区二区三区视频在线观看 | 一区二区欧美精品| 亚洲精品综合在线| 免费观看成人鲁鲁鲁鲁鲁视频| 国产一区二区三区在线看麻豆| 粉嫩嫩av羞羞动漫久久久| 欧美在线小视频| www国产成人免费观看视频 深夜成人网| 久久久亚洲精华液精华液精华液| 国产精品久久影院| 亚洲一区二区三区在线| 成人黄色av电影| 欧美亚洲国产bt| 久久久噜噜噜久久人人看| 亚洲伊人色欲综合网| 九九九久久久精品| 欧洲视频一区二区| 国产日韩综合av| 性感美女极品91精品| 国产麻豆9l精品三级站| 欧美性生活久久| 国产欧美综合在线| 免费成人你懂的| 日本道精品一区二区三区| 国产亚洲一本大道中文在线| 视频在线观看一区二区三区| 国产99一区视频免费| 欧美年轻男男videosbes| 欧美激情中文字幕一区二区| 亚洲va天堂va国产va久| 色综合久久99| 久久精品亚洲国产奇米99| 首页综合国产亚洲丝袜| 本田岬高潮一区二区三区| 精品少妇一区二区三区视频免付费 | 欧美一级免费大片| 亚洲欧美日韩国产手机在线| 国产一区二区精品久久91| 欧美喷水一区二区| 一区二区视频在线| 99久久精品费精品国产一区二区| 欧美电影免费观看高清完整版在| 亚洲第一福利一区| 欧美午夜电影在线播放| 亚洲精品国产a久久久久久| 国内一区二区在线| 精品av久久707| 免费不卡在线观看| 欧美一区2区视频在线观看| 日韩黄色一级片| 91精品国产福利在线观看| 三级不卡在线观看| 欧美一区二视频| 男人的j进女人的j一区| 欧美一卡2卡三卡4卡5免费| 婷婷丁香激情综合| 欧美电影免费观看高清完整版在线| 日韩电影一二三区| 欧美不卡视频一区| 国产一级精品在线| 国产精品麻豆一区二区| 成人高清av在线| 亚洲激情图片一区| 在线播放国产精品二区一二区四区| 亚洲第一av色| 精品少妇一区二区三区在线视频| 国产一区二区三区黄视频| 久久亚洲精品国产精品紫薇| 国产精品亚洲第一| 中文字幕亚洲一区二区va在线| 91玉足脚交白嫩脚丫在线播放| 一区二区三区四区五区视频在线观看 | 久久久久高清精品| www.日韩在线| 午夜精品久久久久影视| 日韩欧美在线影院| 成人国产电影网| 亚洲国产人成综合网站| 日韩欧美二区三区| 99免费精品在线观看| 亚洲第一成年网| 久久蜜臀精品av| 欧洲在线/亚洲| 国产呦萝稀缺另类资源| 自拍偷拍亚洲激情| 日韩一区二区视频| 99视频在线精品| 日韩精品一级中文字幕精品视频免费观看 | 日本韩国欧美国产| 久久精品噜噜噜成人av农村| 中文字幕va一区二区三区| 欧美亚洲动漫精品| 大胆欧美人体老妇| 奇米影视一区二区三区小说| 中文字幕不卡在线播放| 91精品婷婷国产综合久久性色| 国产成人免费视| 天天操天天干天天综合网| 国产农村妇女精品| 日韩免费电影一区| 欧美影院精品一区| 成人激情小说乱人伦| 免费在线观看一区| 一区二区三区在线影院| 欧美精彩视频一区二区三区| 欧美电影一区二区| 91碰在线视频| 粉嫩aⅴ一区二区三区四区五区| av不卡免费电影| 久久se精品一区二区| 亚洲成人www| 亚洲猫色日本管| 国产精品全国免费观看高清| 91精品国产黑色紧身裤美女| 在线观看一区二区视频| 91视频免费观看| 成人av在线网站| 丰满亚洲少妇av| 国产盗摄一区二区三区| 蜜桃av噜噜一区| 免费观看成人av| 美女视频黄频大全不卡视频在线播放 | 久久久99精品久久| 欧美精品一区二区三区蜜臀| 91.成人天堂一区| 欧美日韩成人综合天天影院 | 日韩电影在线一区| 亚洲成av人片在线| 午夜精品久久久久久久久| 亚洲成人一区在线| 亚洲成人动漫av| 日韩激情在线观看| 久久精品噜噜噜成人88aⅴ| 蜜桃免费网站一区二区三区| 日韩av一二三| 亚洲国产你懂的| 婷婷丁香久久五月婷婷| 日日夜夜一区二区| 蜜臀久久99精品久久久久久9| 免费三级欧美电影| 国产电影精品久久禁18| 不卡一区二区三区四区| 色综合天天综合网天天看片| 日本一区二区综合亚洲| 日韩免费观看高清完整版| 精品久久久久久综合日本欧美| 欧美成人三级电影在线| 久久亚洲捆绑美女| 18成人在线视频| 天天影视涩香欲综合网| 国内精品国产成人| 91在线精品一区二区| 欧美在线你懂的| 日韩免费观看2025年上映的电影 | 国产寡妇亲子伦一区二区| 成人一道本在线| 欧美性大战xxxxx久久久| 欧美一级二级三级乱码| 欧美激情综合五月色丁香| 亚洲精品久久7777| 男女激情视频一区| 处破女av一区二区| 欧美精品日韩精品| 国产午夜精品福利| 午夜国产不卡在线观看视频| 韩国女主播成人在线观看| 91视频免费观看| 精品动漫一区二区三区在线观看| 中文字幕不卡三区| 免费成人美女在线观看| 99综合电影在线视频| 日韩精品一区二区三区三区免费| 国产精品国产三级国产a| 日韩电影在线一区二区| 91在线观看高清| 欧美www视频| 亚洲超碰精品一区二区| av福利精品导航| 久久精品一区二区三区不卡|