使用ASP Fileupload控件上传文件时显示网页已过期页面

问题描述

|| 我正在使用ASP:FileUpload Control上传PDF文件。我已经将Web.Config中的上传文件大小限制为1MB。
    <system.web>
    <httpRuntime  maxRequestLength=\"1024\" executionTimeout=\"360\"/>
    </system.web>
ASPX代码
    <%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"WebForm1.aspx.cs\"   Inherits=\"WebpageUpload.WebForm1\" %>

    <%@ Register Assembly=\"AjaxControlToolkit\" Namespace=\"AjaxControlToolkit\" TagPrefix=\"Ajax\" %>
    <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0  Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    <html xmlns=\"http://www.w3.org/1999/xhtml\">
    <head id=\"Head1\" runat=\"server\">
    <title></title>
    </head>
    <body>
    <form id=\"form1\" runat=\"server\">
    <asp:ScriptManager ID=\"ScriptManager1\" runat=\"server\">
    </asp:ScriptManager>
    <div>
    normal File Upload...
    <asp:FileUpload ID=\"FileUpload1\" runat=\"server\" />
    <asp:Button ID=\"Button1\" runat=\"server\" Text=\"Clear\" OnClick=\"Button1_Click\" />
    </div>
    </form>
    </body>
    </html>
这里的主要问题是,当我上传文件超过1 MB并单击“清除”按钮时,我得到“ Internet Explorer无法显示此网页。” 请找到图片以供参考。 提前致谢...     

解决方法

当您在web.config中设置该值时,您告诉IIS您将在这种情况下例外。这意味着YSOD。您需要捕获该异常并对其进行优雅处理,或者提高该限制并手动进行检查。不幸的是,使用文件上载控件,无法在启动上载之前提前检查文件大小。     ,如果要限制用户上载小于1 MB的文件,则必须设置以下条件并检查文件大小,然后再上载。
if (FileUpload2.FileContent.Length > 1048576)
    {
         //File Size is greater than 1 MB
    }