2009-10-12 35 views
3

客户端需要一个选项才能通过浏览器上传非常大的文件(< = 2GB)。2 GB用C#上传文件

我发现浏览器只能支持2GB文件上传。是这样吗?

如果是,那么至少1.9999GB是否有解决方案?

尝试使用maxRequestLength,executionTimeout等参数,结果什么都没有。

回答

5

使用Flash或Silverlight的客户端控件的替代方法是使用Darren Johnson's ASP.NET upload module。我建议你看看这个。

这是一个IIS HTTP模块,它允许文件以小块上传,从而减少内存使用量。有一些客户端JavaScript会向用户显示上传进度。

我成功地将此与MOSS 2007一起使用,并且已经用高达2GB的文件对其进行了测试 - 它的效果非常好!

+0

+1,无法敲出已经过测试的解决方案。 – 2009-10-12 08:06:34

0

如果您要上传大文件可能是更好用书面在任的Sliverlight或闪存中的客户端的控制上传的文件。这样控制器就可以将文件分割成单独上传的较小的卡盘。

“正常”文件上传的问题在于它是一次性事务,没有重试机制。此外,Web服务器和代理服务器不针对长时间请求进行优化。随着客户端远离主机Web服务器,它往往会通过不受您控制的系统(代理等)进行路由。根据我的经验,这些对大型文件的破坏很大。