1、采用webservice和客户端应用程序的方法。
在客户端将文件转成数据流,然后将数据的每一部分发送给WebService,由WebService将数据保存到服务器上,这种方法可上传超过10G的文件到服务器(经过测试),但是这种方法在具体实现的时候,比较麻烦。必须同时完成WebService和客户端两部分代码。或者采用ActiveX在网页上实现。他的好处是能够监测全部的文件上传过程,并且能够实现数据的多线程,多文件同时上传等控制。
2、采用File类的方法。
通过HTML的FILE控件进行文件选择 ,并使用.net自带的上传类来实现。此种方法简单,容易上手,但是限制也比较多,比如文件的大小,多文件上传。异步上传等功能的视线都比较困难。
3、第三方组件的方法
通过购买其他公司或者个人实现的HTML组件或者ActiveX组件实现。比较容易陷入进退两难的境地。
个人意见,如果在项目的开发周期和使用允许的范围内的话,最好是充分比较各种实现方式,从而可以找到一个最适合当前项目的方法。