大文件不会在ASP.NET中上传

时间:2014-11-21 22:59:33

标签: c# asp.net file upload

我有一个asp.net网络表单应用程序,我正在尝试使用FileUpload控件在Web表单中上传大文件(13 mb),当我按下提交按钮时,Web浏览器开始上传文件。但是,当Web浏览器完成上传时,应用程序无故失败,并且不会出现任何异常,也不会输入提交按钮的单击事件代码(c#)。在我的web.config中,我设置了maxAllowedContentLength选项和maxRequestLength选项。

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

<httpRuntime targetFramework="4.5" executionTimeout="900" maxRequestLength="2097151" />

这只发生在Web服务器(Windows Server 2012)中,在我的本地服务器中没有发生这种情况。在网络服务器中显示默认错误(我不管理服务器,所以我看不到发生了什么自定义错误)

我不知道为什么会这样,因为在网络服务器中,文件上传选项的应用程序更大。

感谢您的帮助。

4 个答案:

答案 0 :(得分:5)

按照Stricture修改您的web.config,此处我使用最大文件请求长度13 MB&amp;最大允许内容长度1 GB。
现在在web.config

中更改<system.web>
<httpRuntime targetFramework="4.5" maxRequestLength="13631488" executionTimeout="9000" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="1000" />

在Web配置中的<system.webServer>后面写下此代码

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

由于

答案 1 :(得分:0)

看起来你错过了开场&#34;安全&#34; web.config中的标记

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

答案 2 :(得分:0)

如果你的maxAllowedContentLength值很大,你的executionTimeout也必须很大! 它在本地工作,因为你不需要很长时间来复制文件。 但是当你在服务器上传你的站点时,你需要更多的executionTimeout。

答案 3 :(得分:0)

问题是管理员对服务器的限制,不允许上传大文件。此线程中给出的所有配置都是正确的。