【问题标题】:Restrict the size of file upload in asp.net限制asp.net中文件上传的大小
【发布时间】:2014-08-25 08:49:42
【问题描述】:

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

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

【问题讨论】:

  • 您要上传的文件总大小是多少?
  • 10 到 15 MB 之间的任何地方。我实际上正在创建基于用户的应用程序。因此,客户端将上传最大总大小为 15 MB 的文件
  • 您的代码运行良好....我没有收到任何错误。您能否向我们提供当此错误弹出时您的实际操作重现此错误的步骤问题
  • 尝试上传任何大于 5 MB 的内容,它不会显示弹出警报
  • 你能用jquery吗???在 jquery 中检查文件大小并显示弹出警报会很容易

标签: c# asp.net webforms filesize


【解决方案1】:

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

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

【讨论】:

  • 那很好但是如果我想显示弹出警报它比上传的任何东西都大
  • 您需要使用客户端验证。这可能会有所帮助 - codeproject.com/Tips/290098/… - 它是 FileUpload 控件的自定义验证器,基本上可以完成您想要做的事情
【解决方案2】:

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

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

注意当在Machine.config文件中设置了maxRequestLength属性,然后发出超过maxRequestLength值的请求(例如文件上传)时,无法显示自定义错误页面。相反,Microsoft Internet Explorer 将显示“找不到服务器或 DNS”错误消息。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 2017-03-09
    • 2011-01-13
    • 1970-01-01
    • 2022-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多