aspnet简便无刷新文件上传系统

aspnet简便无刷新文件上传系统

ID:30773491

大小:181.00 KB

页数:16页

时间:2019-01-03

aspnet简便无刷新文件上传系统_第1页
aspnet简便无刷新文件上传系统_第2页
aspnet简便无刷新文件上传系统_第3页
aspnet简便无刷新文件上传系统_第4页
aspnet简便无刷新文件上传系统_第5页
资源描述:

《aspnet简便无刷新文件上传系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、asp.net简便无刷新文件上传系统Z前写过一个仿163网盘无刷新多文件上传系统,已经对无刷新上传文件的原理做了详细的分析而这次的系统主要是针对单个file控件的,便携版,使用更简单,还有更深入的分析ps:flash实现的效果是好得多,但这不是我研究的范围,也没什么可比性。兼容:ie6/〃8,firefox3.5.5,opera10.01,safari4.0.3,chrome3.0ps:由于需要后台,要测试系统请下载实例测试。ps2:在完整实例文件屮,还有一个文件属性查看实例。程序说明[upload]程序中最重要的方法就是upload了,调用它就可以进行无刷新上传。up

2、load的过程是这样的,首先用stop方法停止上一次上传,并判断是否选择文件。然后分别调用_setlframe,_setForm和_setlnput,生成需要的iframe,form和input。如果设置了timeout属性的话,会自动设置计时器:复制代码代码如下:if(this.timeout>0){this._timer=setTimeout($$F.bind(this._timeout,this),this.timeout*1000);}ps:经测试,小于0的延时时间,ie会取消执行,而其他浏览器会当成0执行。程序有一个.sending属性用來判断上传状态。在st

3、op(停止),dispose(销毁),_finis(完成),_timeout(超时)时会把它设为false。而在上传开始前要把它设置为true。最后提交表单就开始上传了。[iframe]程序使用_setlframe函数来创建无刷新需要的iframe。由于ie中iframe的name不能修改的问题,要这样创建iframe:复制代码代码如下:var讦ramename="QUICKUPLOADJ+QuickUpload._counter++,iframe=document.createElement($$B.ie?H

4、iframen);iframe.name=iframename;iframe.style.display="none”;ps:关Tiframe的name的问题参考这里的iframe部分。ie8已经可以修改name?,但在非标准(怪辟)模式下还是不能修改。其中使用了一个QuickUpload函数自身的.counter属性做计算器,这就能保证各个实例的iframe的name就不会重复。为了能在文件上传完成后执行回调函数,会在iframe的onload中执行_finish函数:复制代码代码如下:varfinish=this._fFINISH=$$F.bind(this._fi

5、nish,this);if($$B.ie){iframe.attachEventfnonloacT,finish);}else{iframe.onload=$$B.opera?function(){this,onload=finish;}:finish;}在ie需要用attachEvent来绑定onload,因为在ie中直接设置onload是无效的。除了用attachEvent还可以用onreadystatechange代替。至于原因我也不清筑,详细参考“判断讦rame是否加载完成的完美方法”。iframe的加载还有一个问题,测试以下代码:复制代码代码如下:

6、divid=”msg状态:结果safari,chrome都会触发onload两次,而opera,ff和

7、ie(请自行兼容)都是1•次。估计在safari和chrome在appendChildZ后就进行第一次加载,并且在设置srcZ前加载完毕,所以触发了两次。如果在插入body之前给iframe随便设置一个src(除了空值),间接加长第一次加载,那么也只触发一次了。ps:不设置或空值的src相当于链接到“about:blank”(空白页)。那么opera,ff和ie可能是第一次加载太慢,第二次覆盖了第一次的,所以只触发了一次onloadoPS:也可能是其他原因,例如浏览器优化之类的,我也不确定。针对加载过快的问题,可以在onload的时候根据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。