上传期间文件大小超过默认大小

时间:2013-05-06 16:17:18

标签: asp.net asp.net-mvc asp.net-mvc-3 razor

我在ASP.NET MVC工作。我正在尝试上传文件,这在小文件的情况下是成功的,但如果文件大小很大,我会收到以下错误。

Maximum request length exceeded.

以下是我的表格。

@using (@Html.BeginForm("Method","Controller",FormMethod.Post,new{enctype="multipart/form-data"}))
{
   <input type="file" name="file" id="file"/>
   <input type="submit" value="Submit"/>
}

以下是控制器方法。

[HttpPost]
public ActionResult Method(HttpFileBase file)
{
    string path = System.IO.Path.Combine(Server.MapPath("~/Files"), file.FileName);

    file.SaveAs(path);
}

当文件很小,即1-2Mb,相同的代码工作正常,但我试图上传一个19Mb的文件,没有上传。我不知道如何指定文件长度以及如何删除上述错误。请帮帮我。

3 个答案:

答案 0 :(得分:1)

在System.Web节点下的web.config中指定

<httpRuntime maxRequestLength="NNN" />

其中NNN是以KB为单位的文件大小

答案 1 :(得分:1)

web.config下的system.web文件中添加以下设置:

<system.web>
  ....
   <httpRuntime maxRequestLength="XXXX" executionTimeout="XXXX" />
  ....
</system.web>

maxRequestLength位于 kb 中,executionTimeout位于分钟中。您应该设置executionTimeout以便有足够的时间上传文件。

检查this了解详情。

答案 2 :(得分:1)

您可以使用此处建议的web.config更改最大上传大小,但我建议将更改绑定到您希望将其上传到的确切网址。例如,这会将最大上传大小更改为50MB。

<location path="Documents/Upload">
  <system.web>
    <httpRuntime maxRequestLength="51200" />
  </system.web>
</location>