在asp.net中限制文件上传的大小

时间:2014-07-04 05:12:27

标签: c# asp.net webforms filesize

我想将文件大小上传限制为某个限制。但是,这里的问题是我想在超过上传大小时提供弹出警报。但是,此处的网页显示以下错误

HTTP Error 404.13 - Not Found

The request filtering module is configured to deny a request that exceeds the request content length. 这是我的代码

 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;
        }
    }
}

2 个答案:

答案 0 :(得分:5)

看看这个 - How to increase the max upload file size in ASP.NET?

您可以在web.config中更改最大请求大小 - 默认值为4Mb

答案 1 :(得分:0)

如果您想知道浏览器抛出的错误代码/消息的性质,here是一个解决它的帖子。 我将引用一个段落,以防将来链接断开:

  

默认情况下,ASP.NET仅允许将4,096千字节(KB)(或4 MB)或更少的文件上载到Web服务器。要上传较大的文件,您必须更改Web.config文件中该部分的maxRequestLength参数。

     

注意当在Machine.config文件中设置maxRequestLength属性,然后发布超过maxRequestLength值的请求(例如,文件上载)时, 无法显示自定义错误页面 即可。相反,Microsoft Internet Explorer将显示&#34;无法找到服务器或DNS&#34;错误信息。

解决方法是修改 Machine.config 文件,如前面@ sh1rts给出的答案中所述。