2

我正在使用以下代码来保存产品图片。当我上传 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 进行任何更改。任何人都可以指导我在哪里可以更改最大请求长度超过限制。 我用谷歌搜索但没有找到答案。谢谢

4

1 回答 1

4

您需要web.config使用httpRuntime标签进行设置

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

最大请求长度

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

于 2013-11-14T06:02:53.963 回答