无法在asp.net中上载4 Gb文件

无法在asp.net中上载4 Gb文件,asp.net,Asp.net,我想在asp:fileupload控件中上载4 Gb文件。当我尝试上传4gb文件时,它似乎“无法连接”,当上传2GB文件时,同样的情况也适用于我 我在web配置文件中做了一些更改。如下图所示: 对于4gb文件 httpRuntime maxRequestLength="4194304" executionTimeout="36000" 对于2gb文件 httpRuntime maxRequestLength="2097152" executionTimeout="18000" 注意:使用.N

我想在asp:fileupload控件中上载4 Gb文件。当我尝试上传4gb文件时,它似乎“无法连接”,当上传2GB文件时,同样的情况也适用于我

我在web配置文件中做了一些更改。如下图所示:

对于4gb文件

httpRuntime maxRequestLength="4194304" executionTimeout="36000"
对于2gb文件

httpRuntime maxRequestLength="2097152" executionTimeout="18000"

注意:使用.Net Framework as 4.0时,您必须更改web.config以上载此大小的文件。默认情况下,IIS web服务器允许将有限的文件大小上载到web服务器。对于IIS 6和IIS 7,默认最大文件上载大小分别为4 MB和28.6 MB。如果有人上传大于30MB的内容,IIS 7将返回404错误(HTTP错误404.13-内容长度太大)。为了允许更大的文件大小上载,需要对服务器进行一些更改。
您可以通过修改web.config文件中的maxAllowedContentLength设置来增加最大文件大小:

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="2147483648" />
    </requestFiltering>
  </security>
</system.webServer>


使用上述maxAllowedContentLength,用户可以上载2 GB大小的文件。此设置将立即工作,无需重新启动IIS服务。

硬件可能还有另一个因素,当我们通过asp文件控件上载文件时,首先数据将保存到RAM中,然后它将复制到目标位置。我在一些培训课程中听到了这一点,但现在我没有任何参考资料。在您的情况下,它可以在RAM中存储2GB,但可能没有足够的空间存储4GB数据

更重要的是,不建议使用asp文件上载控件,即使它在本地也很难使用,但当多个用户同时上载大型文件时,它会崩溃。因此,最好像HTML5或其他东西一样,通过分割成更小的块将文件发送到服务器。

按照指定,maxRequestLength以字节为单位指定值,因此要允许4Gb,需要将其设置为允许的最大uint值4294967295。 web.config将如下所示:

<security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="4294967295" />
      </requestFiltering>
</security>

另外,请检查httpRuntime(以KB为单位的值):



我尝试将带有上述代码的2 Gb和4 Gb文件上载到我的web.config中,似乎是通过“连接已重置”消息。如果你有任何其他想法,请分享。你必须手动配置你的iis服务器,通过它来配置iis
<configuration>
  <system.web>
    <httpRuntime maxRequestLength="500000" executionTimeout="120" />
  </system.web>
</configuration>