我遇到了一个神秘错误,大于 4MB 的文件生成了随机错误。后来我意识到这是由于http maxrequestlength http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength.aspx。默认上传的图片不能大于4MB。
我知道这可以通过 web.config 文件进行更改。
当我尝试通过显示另一个页面来解决此错误时,开始弹出一个不同的错误。调试时,程序立即进入application_error。
执行时Server.GetLastError()
生成异常:
[System.Web.HttpUnhandledException] {“异常类型
“System.Web.HttpUnhandledException”是
抛出。”} System.Web.HttpUnhandledException
堆栈跟踪:位于 System.Web.UI.Page.HandleError(Exception e) 处
System.Web.UI.Page.ProcessRequestMain(布尔值
includeStagesBeforeAsyncPoint、布尔值 includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest(布尔值
includeStagesBeforeAsyncPoint、布尔值 includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest() 处
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext 上下文)位于
System.Web.UI.Page.ProcessRequest(HttpContext上下文)位于
ASP.businessprofile_aspx.ProcessRequest(HttpContext 上下文) 中
c:\Users\Mattew\AppData\Local\Temp\Temporary ASP.NET
文件\root\4ea30077\8f66786f\App_Web_h5fmhavk.4.cs:第 0 行
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤,
布尔值&同步完成)
如果我尝试 application_error 方法中的任何代码,例如重定向,仍然是错误页面:
错误 101 (net::ERR_CONNECTION_RESET):连接已重置。
被展示。
问题
这个错误应该如何处理呢?可以提前处理吗?那么这个错误不显示吗? (我之前尝试使用 jquery 获取文件大小并检查它,但我发现它太复杂
如果问题 1 无法“回答”,是否有办法拦截此错误并显示友好错误?
试试这个。
系统web下的web.config
添加这一行..
<system.web>
<httpRuntime executionTimeout="999" maxRequestLength="2097151"/>
然后你需要检查文件大小
if (AsyncFileUpload1.HasFile)
{
string FileName = Path.GetFileName(AsyncFileUpload1.PostedFile.FileName);
string Extension = Path.GetExtension(AsyncFileUpload1.PostedFile.FileName);
string FolderPath = ConfigurationManager.AppSettings["FolderPath"];
string FilePath = Server.MapPath("~/xl/" + FileName);
double filesize = (double)AsyncFileUpload1.FileBytes.Length;
if (filesize < 106496)
{
//do something
}
else
{
Response.Write("File size must be less than 2MB.");
}
如果您觉得它有用,请将其标记为您的答案,否则请告诉我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)