代码之家  ›  专栏  ›  技术社区  ›  Jagd Dai

文件上传和奇数浏览器错误

  •  0
  • Jagd Dai  · 技术社区  · 16 年前

    我有一个.NET 3.5网站正在将文件上载到SQL Server 2008文件流。这一切都很好,直到我达到某个文件大小,我在浏览器中意外地得到奇怪的错误返回。

    在IE 7中,如果我上载一个大小约为100兆的文件,浏览器会在大约2分钟后返回,并显示一个错误:“Internet Explorer无法显示网页”。完全通用和完全无用的错误。如果这是一个超时问题,那么我希望看到一个有更多解释的错误。

    在火狐3.6.7中,当上传同一个文件时,浏览器会在大约4分钟后返回一个同样普通和无用的错误,即“连接被重置”。同样,如果它是一个超时错误(例如,在我的代码中的某个地方,我有一个连接超时),那么我至少会期望火狐在2分钟后返回一般性错误,因为IE只在2分钟后返回。

    我需要一些关于如何诊断这一点的想法,希望能找到问题的根源。

    此外,我在web.config中的文件上载大小限制为1 gig。

    <!-- 1 Gig upload -->
    <httpRuntime maxRequestLength="1048576" />
    

    编辑:

    IIS 7中是否有任何可能影响此的设置?我不是IIS专家,因此可能是我的网站配置错误。

    2 回复  |  直到 16 年前
        1
  •  0
  •   Jason Slocomb    16 年前

    Jagd

    请尝试修改webconfig:

    <system.web>
      <httpRuntime executionTimeout="999999" maxRequestLength="51200" />
    
        2
  •  0
  •   Jagd Dai    16 年前

    答案是:

    MSDN requestLimits

    web.config有一个部分,用于微调在IIS 7下运行的网站。当涉及到IIs7时,我非常无知,所以我遇到这个问题就不足为奇了。

    <security>
      <requestFiltering>
        <!-- 2 gig max upload --> 
        <requestLimits maxAllowedContentLength="2147483648"></requestLimits>
      </requestFiltering>
    </security>
    

    maxallowedContentLength的默认值为30000000字节。做一点计算,你会发现30000000字节等于29296.875kb,这解释了为什么我可以上传29174kb的文件,而不是29308kb的文件。

    一旦我提高了这个价值,我的文件上传工作为更大的pdf。

    推荐文章