在 IIS 6.0 / 7.0 環境下進行 ASP 檔案上傳時,常遇到 「請求對象錯誤 'ASP 0104 : 80004005' 作業被拒絕」,主因是 IIS 預設限制上傳檔案大小為 200 KB。以下提供治標與治本兩種解決路徑。
治標法:調整 IE 安全性設定(僅適用開發/測試環境)
- 開啟 IE → 網際網路選項 → 安全性 索引標籤 → 自訂層級。
- 找到 「包含本機目錄路徑上傳至伺服器」 選項,改為 啟用。
- 重新啟動瀏覽器後即可上傳完整路徑檔案。

⚠️ 此法需每位使用者手動設定,不適合對外發布的網站。
治本法:修改 IIS Metabase 設定(永久生效)
IIS 6.0 (Windows Server 2003)
- 停止 IIS Admin Service:
net stop iisadmin /y
- 用記事本開啟
C:\Windows\System32\inetsrv\metabase.xml
- 搜尋
AspMaxRequestEntityAllowed,預設值 204800 (200 KB),改為所需大小(單位 Byte),例如 1073741824 (1 GB)。
- 儲存後重新啟動 IIS:
net start w3svc
IIS 7.0+ (Windows Server 2008/2012/2016/2019)
- 開啟「Internet 資訊服務 (IIS) 管理員」。
- 選取目標網站 → 雙擊 ASP 圖示。
- 展開 限制屬性 → 修改 最大要求實體主體限制 (Max Request Entity Body Limit) 為所需位元組數。
- 點擊右側 套用 即時生效,無需重啟 IIS。
程式碼層面的防禦
- 使用元件上傳(如 ASPUpload、Persits.Upload)可繞過 200 KB 限制。
- 僅處理純檔名(
Mid(filename, InStrRev(filename, "\") + 1)),避免因完整路徑導致路徑解析錯誤。
- 對 IE7+、Firefox 等現代瀏覽器,若需預覽圖片,建議改用 HTML5 File API 或 Flash/Uploader 元件。
依專案需求選擇適當方案,正式環境務必採用「治本法」並搭配伺服器端檔案大小、類型驗證,確保上傳功能穩定安全。