今天在使用jquery.uploadify.js上傳文件的時候,出現HTTP 404錯誤,此錯誤在上傳較小文件時不會出現,在上傳一個50M左右文件時出現此錯誤,通過測試和日誌查看發現,根本沒有進入後臺服務端代碼(MVC);
檢查了uploadify的相關參數,也沒有發現問題:
'fileSizeLimit': 0, //不限制文件大小
'successTimeout':36000, //超時時間10小時
在網上找了緣由,發現是下面問題引發:
用uploadify在IIS6下上傳大文件沒有問題,可是遷移到IIS7下面,上傳大文件時,出現HTTP 404錯誤。
緣由是IIS7下的默認設置限制了上傳大小。這個時候Web.Config中的大小設置也就失效了。
解決辦法具體步驟:
一、打開IIS管理器,找到Default Web Site。先進行中止。jquery
二、在IIS中雙擊「請求篩選」打開。
三、點擊右邊的「編輯功能設置」,打開「編輯請求篩選設置」對話框。
其中的容許的最大容量長度,默認是」30000000「,30M,將其修改成你所須要的大小便可。
四、啓動IIS.
更改IIS配置後,再次上傳50M文件,成功!
而後從新發布版本後,IIS配置會還原到以前的配置,經查找發現,更改IIS 7 此配置後,IIS會更改配置文件,添加了下面配置代碼:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="4294967295" />
</requestFiltering>
</security>
</system.webServer>web
把此段配置添加到web.config中,與system.web配置節下的下列配置同時控制文件大小;
<httpRuntime maxRequestLength="4294967" executionTimeout="600" />測試