|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。上传asp中利用组件上传时,有点贫苦就是不晓得上传进度是几,固然有的供应了上传进度条,比方abcupload(下载地点:http://www.websupergoo.com)已供应了显现以后上传形态的办法,内里就有专门的实例(在安装目次的Examples上面的progressupload.htm),它是提交数据的同时弹出一个反应进度的页面(progressbar.asp),然后经由过程这个页面自革新来每隔一点工夫猎取事先的上传形态,然后把它们显现出来,可是用页面自革新的办法效力对照低,不欠好调治革新工夫距离(最小距离为1秒),并且服务器端前往数据量年夜,以是不克不及很好的及时反应上传情形。在客户端利用javascript挪用MSXMl工具和setTimout办法往准时load一个xml文件能够完成无革新准时猎取服务器端数据,在这里可让progressbar.asp输入xml格局的数据,然后供客户端load,仅前往需要的几个参数,如许:页面不革新;传输的数据少,不必要把一切数据全传到客户端,只传输反应形态的数据,假如准时器设置的工夫充足小,那末我们就能够"及时"看到上传的情况了。以下就以abcupload4为例来讲明怎样来制造及时的文件上传进度条。
(注:我们在abcupload自带例子基本上改善。)
progressupload.htm(上传文件的前台提交,我们让进度条在这个内里显现)
<html>
<body>
<scriptlanguage="javascript">
<!--
theUniqueID=(newDate()).getTime()%1000000000;
functions()//让数据提交的同时实行显现进度条的函数
{
bar();//入手下手实行反应上传情形的函数
document.myform.action="progressupload.asp?ID="+theUniqueID;//处置上传数据的程序
document.myform.target="up"//将提交的数据放在一个名字是up埋没的iframe内里处置,如许提交的页面就不会跳转各处理数据的页
document.myform.submit();//提交表单
}
functionbar()
{
bar1.style.display=;//让显现上传进度显现的层的可见
vartimeoutid=null;//这个变量是作准时器的ID
varoXMLDoc=newActiveXObject(MSXML);//创立MSXML工具
sURL="progressbar.asp?ID="+theUniqueID+"&temp="+Math.random();//猎取上传形态数据的地点
oXMLDoc.url=sURL;//load数据
varoRoot=oXMLDoc.root;//猎取前往xml数据的根节点
if(oRoot.children!=null)
{
if(oRoot.children.item(0).text-100==0)//文件上传停止就作废准时器
clearTimeout(timeoutid)
PercentDone.style.width=oRoot.children.item(0).text+"%";//设置进度条的百分比例
//依据前往的数据在客户端显现
min.innerHTML=oRoot.children.item(1).text;//显现残剩工夫(分钟)
secs.innerHTML=oRoot.children.item(2).text;//显现残剩工夫(秒钟)
BytesDone.innerHTML=oRoot.children.item(3).text;//已上传数据巨细
BytesTotal.innerHTML=oRoot.children.item(4).text;//总巨细
BytesPerSecond.innerHTML=oRoot.children.item(5).text;//传输速度
Information.innerHTML=oRoot.children.item(6).text;//上传信息
}
if(oRoot.children.item(0).text-100<0)//只需文件没有传完,就每隔几工夫猎取一次数据
timeoutid=setTimeout("bar()",50)//这里设准时间距离是0.05秒,你也能够依据你的情形修正猎取数据工夫距离
}
//-->
</script>
<formname="myform"method="post"action="progressupload.asp"enctype="multipart/form-data"target=up>
<inputtype="file"name="filefield1"><br>
<inputtype="button"name="dosubmit"value="Upload"onclick="s()"><br>
<divid=bar1style="display:none">
<tableborder="0"width="100%">
<tr>
<td><fontface="Verdana,Arial,Helvetica,sans-serif"size="2"><b>传送:</b></font></td>
</tr>
<trbgcolor="#999999">
<td>
<tableborder="0"width=""cellspacing="1"bgcolor="#0033FF"id=PercentDone>
<tr>
<td><fontsize=1></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<tableborder="0"width="100%">
<tr>
<td><fontface="Verdana,Arial,Helvetica,sans-serif"size="1">残剩工夫:</font></td>
<td><fontface="Verdana,Arial,Helvetica,sans-serif"size="1">
<spanid=min></span>分
<spanid=secs></span>秒
(<spanid=BytesDone></span></p>对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了, |
|