0
我正在開發一個允許用戶上傳文件的MVC5項目。我已經有方法來過濾無效的文件擴展名(只允許圖片和pdf)。然而,當我嘗試上傳大文件,無論擴展的,我得到這個錯誤:無法處理iis 8.0上的mvc 5應用程序中的http錯誤404.13
HTTP Error 404.13 - Not Found
The request filtering module is configured to deny a request that exceeds
the request content length.
的方法上傳甚至不被調用,它只是徑直到錯誤頁面。
一週後,我發現表示,我需要改變我的項目的web.config
文件,我做了這樣:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="6000000" />
</requestFiltering>
</security>
我仍然得到錯誤,所以我也嘗試添加<httpRuntime maxRequestLength="6000" executionTimeout="3600" />
到<system.web>
,但扔此錯誤:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data
for the page is invalid.
顯然這條線必須適用於早期版本的IIS。
我還發現另一個解決方案,建議編輯我的服務器上的applicationHost.config
文件,如項目的web.config
;這也沒有做到。
有什麼建議嗎?
由於用戶將上傳圖片和/或PDF,我想限制文件的最大值爲6MB(對於圖像而言,這非常慷慨)。'問題'是如果提交更大的文件,我的控制器方法甚至沒有被擊中;該網站只是進入IIS錯誤頁面。 – Anders 2014-12-05 21:09:55
控制器不會被調用。該框架已經解決了保護控制器的錯誤。您將不得不在Global.asax.cs中捕獲application_error – phillip 2014-12-05 21:15:21
這是預期的,因爲IIS在處理請求/獲取到控制器之前拋出錯誤。我會說增加web.config文件中的大小,以便IIS不會拋出錯誤並以其他方式驗證文件大小。 – Aaron 2014-12-05 21:16:18