【发布时间】:2009-03-20 09:23:08
【问题描述】:
我正在编写一个上传函数,但在捕获“System.Web.HttpException:超过最大请求长度”时遇到问题,文件大于httpRuntimein web.config 中指定的最大大小(最大大小设置为 5120) .我正在为文件使用一个简单的<input>。
问题是在上传按钮的点击事件之前抛出异常,并且在我的代码运行之前发生异常。那么如何捕获和处理异常呢?
编辑:异常会立即抛出,所以我很确定这不是由于连接速度慢而导致的超时问题。
【问题讨论】:
-
有人用 MVC 试过这个吗?我似乎能够以正确的方式捕获异常,但我无法阻止它:每次我尝试呈现错误页面时都会发生相同的异常。
-
此错误消息由 IIS 在到达控制器之前引发。要通知用户文件超过了最大上传限制(在您的 web-config 中设置),您可以通过 JS 使用 onchange 事件直接验证文件大小。例如
<input type="file" id="upload" name="upload" onchange="showFileSize();" />在showFileSize()内部,您可以通过var input = document.getElementById("upload"); var file = input.files[0];根据您的文件大小显示错误消息并附加一个html 标记。
标签: c# asp.net httpexception