[导入]WebbUpload控件终于完成了。

WebbUpload控件终于完成了。

花了近一个星期的时候,终于完成了这个组件。首先得说明,SunriseUpload.0.9.1的源码给了我很大的帮助,其中一些JS脚本就直接采用了他的内容,没有去改它。但SunriseUpload.0.9.1的算法确实不尽人意,上次也说过了,所以我的主要任务是重新设计了一下算法。

相对而言,主要做了一下的工作:

1、采用了新的算法,所以上传速度有很大的提高。SunriseUpload.0.9.1的上传速度最大为2MB/s(说明,所有的速度都是在我自己的电脑上测试,所以不是绝对的),Lion的上传组件的速度和这个差不多。AspNetUpload 1.20的上传速度为4.5MB/s,这是比较好的了。而我的上传速度也差不多为4.5MB/s,相信如果再优化一下,可能会更好。

2、放弃了一些SunriseUpload.0.9.1的不合理问题,其中最让我郁闷的是他的一些catch块,总是隐藏了一些问题,所以我尽可能少的用这些,这样效率也高一些,而且对一些.net可以捕获的异常还是让.net自己去捕获得了。还有就是一些从来都没有使用过的对象,可能是作者在设计的时候想到过,但后来放弃了。所以我直接就放弃了,没必要搞的很复杂。

3、在SunriseUpload.0.9.1的基础添加了一些新的功能。如SunriseUpload.0.9.1虽然有些代码可以让用户自己设定临时目录,可从头到尾都没用过,所以我自己添加了一些相关的功能,例如上传文件的一些服务器属性等。

4、还有一些不尽人意的地方没有更过来。首先就是在客户端注意一些隐藏变量,然后通过Request[“Key“]来读取回来,这个方法存在很大的问题,就是作者假设每次从客户那里第一次所读取的数据就包含了这些数据。当然ASP.net总会把我们注册的数据放在最前面,也就是说,每次只提交了几K的数据,这里面都一定会有我们的数据,但这个也不绝对,万一遇到了极端,第一次提交数据的时候小于我们设定的数据大小,那后果将会很严重。然而我还没有想到方法解决,所以就采用了作者的这一方法。


文章来源:http://computer.mblogger.cn/wucountry/posts/48800.aspx
================================
  /\_/\                        
 (=^o^=)  Wu.Country@侠缘      
 (~)@(~)  一辈子,用心做一件事!
--------------------------------
  学而不思则罔,思而不学则怠!  
================================
原文地址:https://www.cnblogs.com/WuCountry/p/305650.html