在ASP.NET中上传文件时,最大请求长度超过

时间:2013-11-14 06:01:37

标签: c# asp.net

我使用以下代码保存产品图片。当我上传5张图片时,它运行正常,但当我上传6张图片时,它除了超出最大请求长度

protected void Button1_Click(object sender,EventArgs e) 
   {
       string filepath = Server.MapPath("UploadFiles");
       HttpFileCollection uploadedFiles = Request.Files;
       Span1.Text = string.Empty;

       for(int i = 0;i < uploadedFiles.Count;i++) 
       {
            HttpPostedFile userPostedFile = uploadedFiles[i];

            try 
            {
                if (userPostedFile.ContentLength > 0) 
                {
                    Span1.Text += "File Content Type: " +  userPostedFile.ContentType      + "<br>";
                    Span1.Text += "File Size: " +              userPostedFile.ContentLength           + "kb<br>";
                    Span1.Text += "File Name: " + userPostedFile.FileName + "<br>";

                    userPostedFile.SaveAs(filepath + "\\" +    Path.GetFileName(userPostedFile.FileName));                  
                    Span1.Text += "Location where saved: " +   filepath + "\\" +   Path.GetFileName(userPostedFile.FileName) + "<p>";
                }
            } 
            catch(Exception Ex) 
                {
                    Span1.Text += "Error: <br>" + Ex.Message;
                }
      }
}  

我也没有对web.config进行任何更改。任何身体可以指导我在哪里可以更改最大请求长度超过限制。 我用Google搜索但未找到答案。 Thanx

1 个答案:

答案 0 :(得分:4)

您需要使用httpRuntime标记

设置web.config
<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
</configuration>

maxRequestLength

  

可选的Int32属性。指定输入流的限制   缓冲阈值,以KB为单位。此限制可用于防止拒绝   例如,由用户发布的服务攻击   大文件到服务器。默认值为4096(4 MB),reference.