0

如果我上传的文件大于配置的最大请求长度,则会弹出“服务器响应错误:未知服务器错误”警报。它询问我是否想查看响应页面,如果我单击“确定”,则会弹出一个应用程序错误窗口,显示“超出最大请求长度”。

我已经找到了这个...... 捕获“超出最大请求长度”

我没有成功地让它发挥作用。

我还发现了另一个类似的 SO 问题(我现在似乎找不到)。不同之处在于 OP 已询问如何重定向到错误页面。我不想那样做。答案是使用在 web.config 中设置的自定义错误重定向。

我只是想吸收错误而不做任何事情,我正在使用 OnClientUploadError 事件通过 js 处理错误。基本上,我只是不想要这个愚蠢的弹出消息。

一件奇怪的事情是,在本地运行应用程序时我没有看到错误,但是当我将应用程序部署到我们的服务器时,我确实看到了错误。

注意我应该提到我知道设置最大请求长度的配置值。将其设置为非常大不适用于此实例。

更新所以,我想知道这是否与我们服务器的 IIS 设置有关。奇怪的是它不会在本地发生。关于我应该寻找什么的任何想法?我在网上找到的大部分内容都建议修改 machine.config。但是,正如我之前所说,我不只是想增加允许的大小。我正在通过 js 处理错误,我不希望在任何情况下都出现此警报。

更新好吧,听起来 IIS 默认限制是 30MB。我正在尝试的文件远少于此。我很茫然...

4

2 回答 2

2

在 OnClientUploadError 上编写将设置一些标志的 javascript,然后可以在提交表单时使用该标志,向用户提供上传导致错误的消息。

<asp:AsyncFileUpload ID="fileUpload" 
                     runat="server" OnClientUploadError="onUploadError"
                     OnClientUploadComplete="uploadComplete"
                     OnUploadedComplete="OnUploadComplete" />

在javascript中

 <script language="javascript" type="text/javascript">
     var uploadError = false;    
     function onUploadError()
     {
          uploadError = true;
     }

     function uploadComplete()
     {
          uploadError = false;
     }

     function validateForm()
     {
         return !uploadError;
     }
 </script>

通过这样做可以避免重定向到错误页面。

于 2010-11-04T08:39:27.087 回答
0

在 httpRuntime 节点下的 Web.Config 中检查值 4096。将其增加到 100mb 或根据需要。4096 表示 4mb。

于 2010-08-06T19:10:27.227 回答