我在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的文件,没有上传。我不知道如何指定文件长度以及如何删除上述错误。请帮帮我。
答案 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>