问题描述
||
我正在使用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
}