【发布时间】:2009-10-12 16:04:38
【问题描述】:
客户端需要一个选项来通过浏览器上传非常大 (
我发现浏览器只能支持2GB的文件上传。是这样吗?
如果是,那么对于至少 1.9999GB 有什么解决方案吗?
尝试使用 maxRequestLength、executionTimeout 等参数,但没有任何结果。
【问题讨论】:
标签: file-upload c#-2.0 cross-browser
客户端需要一个选项来通过浏览器上传非常大 (
我发现浏览器只能支持2GB的文件上传。是这样吗?
如果是,那么对于至少 1.9999GB 有什么解决方案吗?
尝试使用 maxRequestLength、executionTimeout 等参数,但没有任何结果。
【问题讨论】:
标签: file-upload c#-2.0 cross-browser
使用 Flash 或 Silverlight 使用客户端控件的替代方法是使用 Darren Johnson's ASP.NET upload module。我建议你看看这个。
这是一个 IIS HTTP 模块,允许文件以小块的形式上传,从而减少内存使用。有一些客户端 JavaScript 会向用户显示上传进度。
我已成功将其与 MOSS 2007 一起使用,并已使用最大 2GB 的文件对其进行了测试 - 效果很好!
【讨论】:
你必须在 machine.config 中设置它 看到这个:http://support.microsoft.com/?scid=kb;en-us;295626&x=12&y=6
【讨论】:
如果您要上传大文件,最好使用用 Sliverlight 或 flash 编写的客户端控件来上传文件。这样,控件可以将文件拆分成更小的卡盘,然后单独上传。
“正常”文件上传的问题在于它是一次性事件并且没有重试机制。 Web 服务器和代理也没有针对长请求进行优化。随着客户端远离主机 Web 服务器,它往往会通过不受您控制的系统(代理等)进行路由。根据我的经验,这些会对大文件造成严重破坏。
【讨论】: