Windows2003系統下,上傳較大的文件時,出現“Request 對象 錯誤 'ASP 0104 : 80004005'”錯誤。
更改win2003的IIS 6.0對asp的上傳文件大小為200k限制,aspx的上傳程序沒有影響。在IIS6.0中,默認設置是特別嚴格和安全的,最大只能傳送 204,800 個字節,這樣可以最大限度地減少因以前太寬松的超時和限制而造成的攻擊。IIS 6 出於安全考慮, 默認最大請求是200K(也即最大提交數據限額為200KByte,204800Byte)。(在 IIS 6.0 之前的版本中無此限制)
解決方案
辦法一:
第一步:修改IIS設置,允許直接編輯配置數據庫。打開,Internet信息服務
第二步:先在服務裡關閉iis admin service服務,找到windowssystem32inetsrv下的metabase.xml, 打開,找到ASPMaxRequestEntityAllowed 把他修改為需要的值,默認為204800,即200K,如把它修改為51200000(50M)。
然後重啟iis admin service服務。
辦法二:
新建一個文本文件,內容如下:
'----------------------------------------------------
set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")
set vdirObj=providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")
WScript.Echo "Before: " & vdirObj.AspMaxRequestEntityAllowed
vdirObj.AspMaxRequestEntityAllowed=51200000
vdirObj.Put_()
WScript.Echo "Now: " & vdirObj.AspMaxRequestEntityAllowed
'----------------------------------------------------
然後保存為.vbs文件,如:vf.vbs
然後在命令行模式下,執行 cscript 文件路徑及文件名,如:
cscript d:vf.vbs
這樣ASP上傳大小就更改為了上面設置的:51200000字節 (50兆)