我有一个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)中,在我的本地服务器中没有发生这种情况。在网络服务器中显示默认错误(我不管理服务器,所以我看不到发生了什么自定义错误)
我不知道为什么会这样,因为在网络服务器中,文件上传选项的应用程序更大。
感谢您的帮助。
答案 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)
问题是管理员对服务器的限制,不允许上传大文件。此线程中给出的所有配置都是正确的。