在本文中笔者实现了一个可一次上传多个文件Web控件(只有C# 版,有兴趣的可以用VB.NET 改写一下)。主要实现手段是采用的了一个ArrayList 对象集合,把用户浏览的本地文件都装入其中,上传的时候遍历对象集合进行上传。
控件已经封装成DLL,可以在Visual Studio 2003 的工具箱中安装。使用拖拽aspx上就好了,设置一下保存服务器的路径属性UploadPath 即可。
控件截图
下载地址:http://bbs.wangxu.net/viewfile.asp?ID=1290
包括原代码
参照了
http://www.codeproject.com/aspnet/multiuploads.asp?forumid=13636&fr=51&select=1172683&df=100#xx1172683xx 上的一个方法。因为写的Web 控件所以要考虑多用户同时上传的问题,原文中使用static ArrayList 的方法肯定造成了多用户共享一个ArrayList 的毛病,笔者采用了Session的存储方式(HtmlInputFile 控件不可序列化所以没法使用ViewState),希望其它网友能有更好的方法。
作者mail:
Wangxu@kostech.com.cn