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

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

?? uploadservlet.java

?? 實現各種文件的長傳功能!同時可以設置上傳文件的格式和大小!上傳的目錄!
?? 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一区二区三区免费野_久草精品视频
久久91精品久久久久久秒播| av网站一区二区三区| 国产99久久久国产精品潘金 | 波多野结衣中文一区| 欧美另类久久久品| 亚洲欧美色图小说| 国产成人午夜精品5599| 欧美精品久久天天躁| 亚洲欧洲色图综合| 国产高清在线精品| 日韩欧美国产1| 视频一区二区三区入口| 在线一区二区三区做爰视频网站| 国产性天天综合网| 激情综合一区二区三区| 日韩欧美的一区| 秋霞电影网一区二区| 欧美日韩一区在线| 亚洲午夜精品17c| 在线观看视频一区| 亚洲综合激情小说| 色播五月激情综合网| 亚洲欧美偷拍另类a∨色屁股| 成人高清在线视频| 中文欧美字幕免费| 国产成人av电影在线| 久久影院视频免费| 黑人精品欧美一区二区蜜桃 | 免费成人性网站| 在线成人av网站| 洋洋成人永久网站入口| 日本韩国欧美国产| 亚洲一区二区三区国产| 91视频.com| 一区二区三区在线影院| 欧美日韩成人综合在线一区二区| 亚洲成av人影院在线观看网| 欧美日本乱大交xxxxx| 日韩电影在线观看一区| 欧美sm美女调教| 国产一区91精品张津瑜| 国产精品久久久久久久裸模| 色婷婷国产精品| 亚洲va韩国va欧美va| 亚洲一区自拍偷拍| 3d动漫精品啪啪1区2区免费 | 欧美一区二区三区男人的天堂| 午夜久久久久久| 欧美v亚洲v综合ⅴ国产v| 国产一区二区0| 自拍视频在线观看一区二区| 欧美日韩免费一区二区三区视频 | 国产高清一区日本| 国产精品乱码妇女bbbb| 欧美专区亚洲专区| 久久精品国产一区二区三区免费看| 2024国产精品视频| 91偷拍与自偷拍精品| 婷婷六月综合亚洲| 久久免费看少妇高潮| 91成人免费在线视频| 日韩电影免费在线观看网站| 国产情人综合久久777777| 99久久国产免费看| 免费人成网站在线观看欧美高清| 亚洲国产精品ⅴa在线观看| 欧美伊人久久大香线蕉综合69| 日本伊人色综合网| 欧美国产综合色视频| 欧美日韩国产高清一区二区三区| 国产一区二区免费视频| 成人a区在线观看| 亚洲成在线观看| 国产丝袜欧美中文另类| 欧美女孩性生活视频| 成人做爰69片免费看网站| 视频一区国产视频| 日韩码欧中文字| 久久久久一区二区三区四区| 欧美精品日韩综合在线| 99久久久久久99| 久久成人18免费观看| 亚洲午夜久久久久久久久电影网 | 在线观看中文字幕不卡| 国内久久精品视频| 午夜伦理一区二区| 亚洲欧美日本韩国| 久久久久久久久久久电影| 欧美日韩精品一区二区在线播放 | 国内偷窥港台综合视频在线播放| 亚洲午夜视频在线观看| 国产精品久久久久婷婷| 久久综合色天天久久综合图片| 欧美日韩国产综合一区二区三区| 99久久99精品久久久久久 | 欧美特级限制片免费在线观看| 成人永久看片免费视频天堂| 麻豆freexxxx性91精品| 丝袜脚交一区二区| 亚洲永久精品国产| 亚洲男人天堂av网| 国产精品国产自产拍高清av王其| 26uuu亚洲综合色欧美| 欧美一级片免费看| 在线不卡a资源高清| 欧美三片在线视频观看| 色噜噜久久综合| 91麻豆免费视频| av不卡在线观看| av不卡免费在线观看| 国产精品一卡二卡| 粉嫩绯色av一区二区在线观看| 国产一区在线不卡| 国产精品88888| 成人毛片视频在线观看| 成人短视频下载| 91视频com| 欧美日韩午夜在线视频| 欧美高清视频一二三区 | 欧美电影一区二区三区| 欧美日韩精品免费观看视频| 欧美日本不卡视频| 欧美一区二区三区在线观看视频| 欧美肥妇bbw| 精品国产一区二区三区四区四| 欧美不卡一二三| 2014亚洲片线观看视频免费| 久久精品日产第一区二区三区高清版| 欧美不卡123| 国产精品美女久久久久aⅴ| 中文字幕一区二区三| 亚洲伦理在线免费看| 日日摸夜夜添夜夜添精品视频| 麻豆成人免费电影| 成人免费视频播放| 欧美伊人精品成人久久综合97| 91麻豆精品国产91久久久久久| 欧美大黄免费观看| 国产精品五月天| 亚洲一区二区三区视频在线| 久久福利视频一区二区| 成人黄动漫网站免费app| 欧美日韩国产一级片| 久久综合资源网| 亚洲一区二区三区四区不卡| 久久99精品久久久| 色综合久久久久综合体桃花网| 欧美日本在线看| 中文字幕免费在线观看视频一区| 一区二区日韩av| 国产一区二区成人久久免费影院| av影院午夜一区| 日韩一区二区三区观看| 亚洲欧洲另类国产综合| 久久激情五月婷婷| 91激情五月电影| 国产午夜亚洲精品午夜鲁丝片| 亚洲欧美日韩在线不卡| 国产一区欧美一区| 欧美日韩国产精选| 国产精品电影一区二区三区| 蜜臀久久久久久久| 欧美在线短视频| 欧美国产一区二区| 久久99久久久欧美国产| 在线观看一区二区精品视频| 欧美经典一区二区三区| 日韩精品福利网| 欧美综合天天夜夜久久| 欧美国产综合色视频| 久久99久久久久久久久久久| 91国产免费看| 中文字幕一区二区三区色视频| 精品一区二区三区久久久| 欧美日韩一区三区| 亚洲欧美日韩中文播放| 国产凹凸在线观看一区二区| 精品国产乱子伦一区| 午夜精品国产更新| 在线观看国产日韩| 亚洲婷婷综合久久一本伊一区 | 成人免费va视频| 欧美mv日韩mv亚洲| 蜜桃精品在线观看| 欧美精品在欧美一区二区少妇| 亚洲美女免费在线| 成人午夜av电影| 欧美国产精品专区| 国产激情视频一区二区在线观看 | 波多野结衣亚洲一区| 久久久久久一二三区| 国产一区二区三区国产| 欧美精品1区2区3区| 午夜激情综合网| 91精品国产综合久久久久久久| 亚洲成人av免费| 欧美精品欧美精品系列| 日韩电影在线一区二区三区| 7777精品伊人久久久大香线蕉完整版| 亚洲第一二三四区|