IIS 6 - 修改 ASP 上傳與下載檔案大小限制
介紹如何修改 IIS 6 中 ASP 網站的檔案上傳與下載大小限制。
問題
IIS 6 的 Request Entity 預設大小限制是 200 KB (204800 Byte),所以提交資料(包含POST的表單資料及檔案)時超過這個大小限制時會發生
要求物件 錯誤 ‘ASP 0104 : 80004005’
不允許的操作
輸出緩衝區大小預設限制是 4 MB (4194304 Byte),所以不管是 Response 頁面或檔案(下載檔案),只要超過限制就會發生
Response物件錯誤 ‘ASP 0251 : 80004005’
超過回應緩衝區限制
解決方法
一般來說如果是 POST 表單或 Response 頁面不太可能超過預設的限制,如果超過就只能修改 metabase.xml 的設定來放寬限制。而上傳或下載檔案就很容易超過預設限制,但這種情況我比較建議修改 ASP 程式,使用分區塊的方法上傳和下載,一次上傳或輸出一小部分資料。
本文主要是介紹調整 metabase.xml 設定的方法。
調整 metabase.xml
停止下列 IIS 相關服務
- IIS Admin Service
- World Wide Web Publishing Service
用文字編輯器開啟 %WINDIR%\System32\inetsrv\metabase.xml
修改上傳檔案大小限制
- 修改
AspMaxRequestEntityAllowed
,單位是 Byte,預設是 204800 (200KB),改成你想要的大小
修改下載檔案大小限制
- 修改
AspBufferingLimit
,單位是 Byte,預設是 4194304 (4MB),改成你想要的大小
啟動下列服務
- IIS Admin Service
- World Wide Web Publishing Service