Reputation: 303
I want to restrict my file size upload to a certain limit. But, the problem here is that I want to provide a popup alert when the upload size is exceeded . But , instead the web page here shows the following error
HTTP Error 404.13 - Not Found
The request filtering module is configured to deny a request that exceeds the request content length.
Here's my code
protected void Button1_Click(object sender, EventArgs e)
{
if (fuDocpath.HasFiles)
{
try
{
DateTime now = DateTime.Now;
lbldateStamp.Text = now.ToString("mm_dd_yyyy_hh_mm_ss");
//string foldername = lblsessionID.Text + "_" + lbldateStamp.Text;
string folderpath = (Server.MapPath("~/Uploaded_Files/") + lblsessionID.Text + "_" + lbldateStamp.Text + "/");
Directory.CreateDirectory(folderpath);
if (fuDocpath.PostedFile.ContentLength < 20970000)
{
try
{
foreach (HttpPostedFile files in fuDocpath.PostedFiles)
{
string filename = Path.GetFileName(files.FileName);
string folderpath1 = folderpath + "/";
fuDocpath.SaveAs(folderpath1 + filename);
lblName.Text = lblName.Text + "|" + filename;
lblerror.Text = string.Empty;
}
}
catch (Exception eex)
{
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + eex.Message + "')", true);
}
}
}
catch (Exception ex)
{
lblerror.Text = "File couldn't be uploaded." + ex.Message;
lblName.Text = string.Empty;
}
}
}
Upvotes: 5
Views: 19694
Reputation: 314
Just in case you're wondering about the nature of the error code/message thrown by the browser, here is a post that addresses it. I'll quote a paragraph just in case of broken links in future:
By default, ASP.NET only permits files that are 4,096 kilobytes (KB) (or 4 MB) or less to be uploaded to the Web server. To upload larger files, you must change the maxRequestLength parameter of the section in the Web.config file.
Note When the maxRequestLength attribute is set in the Machine.config file and then a request is posted (for example, a file upload) that exceeds the value of maxRequestLength, a custom error page cannot be displayed. Instead, Microsoft Internet Explorer will display a "Cannot find server or DNS" error message.
The workaround is to modify the Machine.config file as explained in the answer given earlier by @sh1rts.
Upvotes: 1
Reputation: 1874
Look at this - How to increase the max upload file size in ASP.NET?
You can change the max request size in web.config - the default is 4Mb
Upvotes: 6