package com.fei.servlet; import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.fei.util.FileUploadInfo;
public class UploadFileProgressServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String responseContent = "";
Object obj = request.getSession().getAttribute("uploadInfo");
if(obj == null){
responseContent = "{'data':'NoData'}";
}else{
FileUploadInfo uploadInfo = (FileUploadInfo)obj;
responseContent = uploadInfo.toString();
if(uploadInfo.getUploadPercent()== 100.0){
request.getSession().setAttribute("uploadInfo", null);
}
}
System.out.println("文件上次情况:"+responseContent);
response.getWriter().print(responseContent);
}
}
前台页面upload2.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="js/jquery-2.1.1.js" type="text/javascript"></script> <script >
var falseNum = 0;
$(document).ready(function(){
$('#subbut').bind('click',
function(){
$('#fForm').submit();
var eventFun = function(){
$.ajax({
type: 'GET',
url: '/uploadtest/UploadFileProgressServlet.do',
data: {},
dataType: 'text',
success : function(resData){
//如果10次都失败,那就不要继续访问了
if(falseNum > 10){
window.clearInterval(intId);
return;
}
var obj = eval("("+resData+")");
if(obj.data == 'NoData'){
falseNum ++ ;
return;
}
$("#graphbox").css('display','block');
$(".progressbar").css('width',obj.uploadPrecent+'%');
$("#uploadPer").html(obj.uploadPrecent+'%');
$("#progressInfo").html('总大小:'+obj.totalSize
+',速度:'+obj.uploadSpeed
+'%,剩余时间:'+obj.remainTime+',已用时间:'+obj.useTime);
if(obj.uploadPrecent == 100){
window.clearInterval(intId);










