2013-05-06 220 views
2

我正在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的文件。我不知道如何指定文件長度以及如何刪除上述錯誤。請幫幫我。

+4

可能重複(http://stackoverflow.com/questions/3853767/maximum-request-length-exceeded) – 2013-05-06 16:33:40

回答

1

在下面的System.Web節點你的web.config指定

<httpRuntime maxRequestLength="NNN" /> 

其中nnn是文件大小以KB爲單位

+0

我發現錯誤在下面的代碼中,當從瀏覽器請求「。 ' – 2013-05-06 16:32:13

+1

@FakharuzZaman:你做錯了。那裏應該只有一個httpRuntime節點。如 2013-05-06 16:41:09

1

web.config文件system.web下添加這些設置:

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

maxRequestLength is in kb and executionTimeout in 分鐘。你應該設置executionTimeout給它足夠的時間來上傳文件。

查詢this瞭解更多詳情。

+0

IIS會考慮您推薦的代碼錯誤。 – 2013-05-06 16:35:11

+0

@FakharuzZaman:什麼是錯誤? – 2013-05-06 16:39:26

1

您可以使用此處建議的web.config來更改最大上傳大小,但我建議將該更改綁定到您希望將其上傳到的確切URL。例如,這會將最大上傳大小更改爲50MB。

<location path="Documents/Upload"> 
    <system.web> 
    <httpRuntime maxRequestLength="51200" /> 
    </system.web> 
</location> 
的[超過最大請求長度]
+0

提到了一個好點:) – 2013-05-06 16:56:50