www.gusucode.com > 维六酷博客管理系统 1.1源码程序 > inc/fileUpProgress.asp

    <% @codepage=936 EnableSessionState=False%>
<HTML xmlns:v>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>文件上传进度指示条</TITLE>
<STYLE>
v\:*{behavior:url(#default#VML);}
*{font-size:12px;}
</STYLE>
<style type="text/css">
<!--
font {
 font-size: 14px;
}
td {
 font-size: 14px;
 color: #333333;
}
b {
 font-size: 14px;
}
span {
 font-size: 14px;
}
a:link {
 color: #333333;
 text-decoration: none;
}
a:hover {
 color: #990000;
 text-decoration: underline;
}
a:visited {
 color: #000000;
 text-decoration: none;
}
-->
</style>
</HEAD>
<BODY topmargin="0" leftmargin="0" onLoad="begin()" bgcolor="#CCCCCC">
<p><br>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
  <tr>
    <td align="center"><b>文件上传进度指示条</b></td>
  </tr>
  <tr>
    <td>状态:<span ID="myStatus"></span></td>
  </tr>
  <tr>
    <td width="500"><div style="table-Layout:fixed;width:100%;height:100%;border:1 solid black"><v:RoundRect id="myRect" style="height:20;" name="myRect">  <v:fill type="gradient" id="fill1" color="blue"/> </v:RoundRect></div></td>
  </tr>
  <tr>
    <td>已经上传:<span ID="message"></span></td>
  </tr>
  <tr>
    <td>使用时间:<span ID="time">0</span> 秒 </td>
  </tr>
  <tr>
    <td>平均速率:<span ID="speed">0</span> KB/秒 </td>
  </tr>
</table>
<script language="Javascript"> 
self.moveTo(getTop(200),getLeft(500));
var intBytesTransferred=0;
var intTotalBytes=0;
var useTime=1; //s
var getData;
var myWidth=486;
var beginUploadFlg=false;
fill1.color="rgb("+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+","+Math.round(Math.random()*255)+")";
myStatus.innerHTML="正在初始化....";
function begin() 
{
 message.innerHTML="开始获取信息....";
    var Doc = new ActiveXObject('Microsoft.XMLDOM'); 
    Doc.async = false;
    Doc.load("fileUpProgressRead.asp?progressID=<%=Request.QueryString("progressID")%>&aa="+new Date().getTime());
 if(Doc.parseError.errorCode != 0) //检查获取数据时是否发生错误
 {
  delete(Doc);
  if(beginUploadFlg){
   intBytesTransferred=intTotalBytes;
  }else{
   message.innerHTML="上传动作尚未启动!";
  }
 }else{
     var rootNode=Doc.documentElement;
     if(rootNode.childNodes != null)  
     {     beginUploadFlg=true;
           intBytesTransferred=Number(rootNode.childNodes.item(0).childNodes.item(0).text);
           intTotalBytes=Number(rootNode.childNodes.item(0).childNodes.item(1).text);
           useTime=Number(rootNode.childNodes.item(0).childNodes.item(2).text);
           message.innerHTML="获取信息成功。";
     }
     delete(rootNode);
 }
 delete(Doc);
    if(intTotalBytes==0){
  intBytesTransferred=1;
  intTotalBytes=100;
 }
 display();
 if(intTotalBytes>0 && intBytesTransferred<intTotalBytes){
  if(beginUploadFlg){
   myStatus.innerHTML="正在上传,请耐心等待....";
  }
  time.innerHTML=useTime;
  speed.innerHTML=Math.round((intBytesTransferred/useTime)/1024);
  getData = setTimeout("begin()",1000); 
 }else{
  myStatus.innerHTML="数据上传完毕,3秒后自动关闭。";
  setTimeout("self.close()",3000);
 }
} 
function display(){
 myRect.style.width=Math.round(myWidth/(intTotalBytes/intBytesTransferred));
 fill1.angle=Math.round(300/(intTotalBytes/intBytesTransferred));
 if(beginUploadFlg){ 
  message.innerText=intBytesTransferred+"/"+intTotalBytes+","+Math.round(100/(intTotalBytes/intBytesTransferred))+"%";
 }
}
function getTop(windowHeight){
  var top = parseInt((screen.height - windowHeight)/2-15);
  return top;
}
 
function getLeft(windowWidth){
  var left = parseInt((screen.width - windowWidth)/2-5);
  return left;
}
</script>
</BODY>
</HTML>