首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> ASP 程式設計 >> ASP 相關知識

ASP 檔案上傳錯誤 800a0005 完整解決方案

     編輯:ASP 相關知識

在 IIS 6.0 / 7.0 環境下進行 ASP 檔案上傳時,常遇到 「請求對象錯誤 'ASP 0104 : 80004005' 作業被拒絕」,主因是 IIS 預設限制上傳檔案大小為 200 KB。以下提供治標與治本兩種解決路徑。

治標法:調整 IE 安全性設定(僅適用開發/測試環境)

  1. 開啟 IE → 網際網路選項 → 安全性 索引標籤 → 自訂層級。
  2. 找到 「包含本機目錄路徑上傳至伺服器」 選項,改為 啟用。
  3. 重新啟動瀏覽器後即可上傳完整路徑檔案。

IE 安全性選項 完整路徑選項設定

⚠️ 此法需每位使用者手動設定,不適合對外發布的網站。

治本法:修改 IIS Metabase 設定(永久生效)

IIS 6.0 (Windows Server 2003)

  1. 停止 IIS Admin Service:net stop iisadmin /y
  2. 用記事本開啟 C:\Windows\System32\inetsrv\metabase.xml
  3. 搜尋 AspMaxRequestEntityAllowed,預設值 204800 (200 KB),改為所需大小(單位 Byte),例如 1073741824 (1 GB)。
  4. 儲存後重新啟動 IIS:net start w3svc

IIS 7.0+ (Windows Server 2008/2012/2016/2019)

  1. 開啟「Internet 資訊服務 (IIS) 管理員」。
  2. 選取目標網站 → 雙擊 ASP 圖示。
  3. 展開 限制屬性 → 修改 最大要求實體主體限制 (Max Request Entity Body Limit) 為所需位元組數。
  4. 點擊右側 套用 即時生效,無需重啟 IIS。

程式碼層面的防禦

  • 使用元件上傳(如 ASPUpload、Persits.Upload)可繞過 200 KB 限制。
  • 僅處理純檔名(Mid(filename, InStrRev(filename, "\") + 1)),避免因完整路徑導致路徑解析錯誤。
  • 對 IE7+、Firefox 等現代瀏覽器,若需預覽圖片,建議改用 HTML5 File API 或 Flash/Uploader 元件。

依專案需求選擇適當方案,正式環境務必採用「治本法」並搭配伺服器端檔案大小、類型驗證,確保上傳功能穩定安全。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved