文件上传超过4GB

时间:2009-03-30 23:40:55

标签: asp.net web-applications file-upload

我希望创建一个ASP.NET Web应用程序,允许上传大小为4GB的文件。我怎样才能做到这一点?我更喜欢像“下载”管理器这样的东西,我可以在那里恢复,暂停等...

这可能吗?如果是这样,我应该从哪里开始?我认为asp.net的上传限制为4mb还是什么?我不太确定..

请建议。

干杯

7 个答案:

答案 0 :(得分:3)

您可能希望使用第三方组件来执行此操作。

你是正确的,默认情况下,标准文件上传控件不允许超过4MB的任何内容。您可以使用maxRequestLengthhttpRuntime配置部分的web.config属性更改该值。您还需要更改executionTimeout属性。有关详细信息,请参阅here

但高达4GB?我怀疑你在标准文件上传控件上会取得多大成功。如果连接断开,它就会全部结束,它们将不得不重新开始。您可能想要一些能够维持连接并提供进度条等的东西。

查看FileUpEasyAlgo等产品。谷歌搜索应该找到你很多。

答案 1 :(得分:2)

你总是可以自己实现文件上传,如果.NET实用程序有一些编码限制(尽管它确实不应该),这真的不是那么难。

对于某些你可以恢复的“上传”管理器等,这根本不可能,因为它需要与客户合作,现代浏览器上传功能根本就不那么“聪明”。

您可以创建一个可以嵌入页面的小型Java Applet来处理对话的客户端,但是您需要对applet进行签名,并且还需要自定义服务器逻辑来处理后端。

答案 2 :(得分:1)

除了服务器的限制之外,浏览器还限制了可以在POST中发送的文件的大小(稍微过时:http://www.motobit.com/help/scptutl/pa98.htm)。这就是为什么许多人实现基于Flash或Java的解决方案,可以使用直接管道到服务器执行“带外”上传,可以这么说。

答案 3 :(得分:1)

.NET 2.0中的限制为2 GB。

如果是3.5,那么请在web.config中考虑这个,如果有的话。它设置最大文件大小和超时:

<httpRuntime maxRequestLength="4194304" executionTimeout="2400"/>

当然,如果您不是因果关系,将文件上传到网站可能会很危险,因此像其他海报一样,请考虑使用现有的测试版,至少要了解所有注意事项。祝你好运。

答案 4 :(得分:1)

使用覆盖内置请求检查的第三方解决方案,您可以使用ASP.NET执行高达4GB的文件。这将适用于除IIS 7集成模式之外的所有IIS版本,该模式具有2GB的硬限制。

大多数上传者没有暂停/恢复的能力,所以你可能会在那里失去运气。谷歌,看看你能找到什么。您可能必须使用Java或ActiveX来获得此功能。

开始插件

我是SlickUpload的作者,是最早的ASP.NET上传者之一 - 它支持最高4 GB的上传。我们没有Flash,Silverlight或Java支持,但目前确实拥有最佳的AJAX体验,并且丰富的applet接口将在未来版本中出现。

答案 5 :(得分:0)

文件上载限制通常由服务器配置文件控制。对不起,我是一个PHP人,所以我不确定asp.net但是对于我们的服务器,我们有一个php.ini文件,其upload_max_filesize设置了允许的总大小。

对于上传管理器,您可能需要使用java net beans构建的东西,这是一个可以购买的基于java的插件或swfuploader

我们在许多网站上使用swfuploader取得了很大的成功。

答案 6 :(得分:0)

在filemail.com他们使用了Flex客户端,即使该网站基于asp.net。总的来说,我认为“每个人”都使用active-x类型的客户端来完成这项任务。

相关问题