ASP.NET MVC 上传大文件时404
前一段時間會員的上傳組件改用FLASH的swfupload來上傳,既能很友好的顯示上傳進度,又能完全滿足大文件的上傳。
后來服務器升級到windows 2008,改為IIS7后,上傳文件一旦超過30M時,就出現404錯誤,而且是是上傳進度達到100%之后,真是讓人難思其解。
?
反復測試,發現FLASH上傳文件到并沒有正確的執行.NET程序,也就是.NET程序本身有問題;
但小于30M又是一切OK,難道是上傳的文件大小有所限制?
檢查web.config的httpRuntime :
<httpRuntime maxRequestLength="2097151" executionTimeout="50000" />已經是很大值了。
因為無法正確得到詳細的錯誤信息,就用一個普通的FORM提交一個FileUpload測試,原來真是web.config的設置問題:
報錯信息:
最可能的原因:
Web 服務器上的請求篩選被配置為拒絕該請求,因為內容長度超過配置的值。
可嘗試的操作:
確認 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 設置。?
鏈接和更多信息
? 這是一項安全功能。請不要更改此功能,除非您完全清楚更改的影響范圍。您可以配置 IIS 7.0 服務器以拒絕內容長度大于指定值的請求。如果請求的內容長度大于所配置的長度,便會返回此錯誤。如果需要增加內容長度,請修改 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 設置。
?
解決方案
原來IIS7的上傳文件大小,即便是在經典模式下,也一定要在system.webServer里設置,加上去就OK了:
<system.webServer><security><requestFiltering ><requestLimits maxAllowedContentLength="1073741824" ></requestLimits></requestFiltering></security></system.webServer>?
轉載于:https://www.cnblogs.com/smallerpig/p/3646171.html
總結
以上是生活随笔為你收集整理的ASP.NET MVC 上传大文件时404的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dns的子域授权
- 下一篇: oracle vm 安装虚拟机小bug