月初老板让制作一个网站,网站的管理员有时需要上传较大的文件,但是使用asp.net提供的fileupload控件实在是有点“尴尬”,于是在网上找了一整天asp.net上传大文件的控件,试了N多种不同的控件,像什么Lion.Web.UpLoadModule,AspnetUpload,思归的方法之类的,最后好不容易找到个AspnetUpload 2.2,但发现这个版本好像不支持.NET 2.0,编译是可以通过,但一打开网页就是错误。郁闷了好久,发现AspnetUpload 2.3好像是支持.NET 2.0的,可根本下不到,到处都是2.2版的,最后在官方下了一个2.3版的,好像说只支持小于10M的文件,可用了以后发现好像可以支持好几百兆的文件上传,于是使用了这个版本。
用了几天后偶然发现一个很严重的问题:在上传过程中如果刷新网页或者打开其他链接,服务器端的CPU就一直100%,找了好久也没找到解决办法,差点让我崩溃。只好再次放弃去想其他办法。
最后一不小心找到了这个swfupload,通过Flash实现,不管是界面还是性能好像都比前面用过的好得多,而且也是开源的。
swfupload的使用方法很简单,像我这种菜鸟没花多少时间就学会了,呵呵。
做了个swfupload的示例跟大家分享(用VS2008 C# 在Vista sp1 下测试通过)