首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# FTP 上傳 550 錯誤:權限缺失導致無法覆蓋文件

     編輯:程式設計綜合問答

現象

  • UploadFileWithUniqueName 正常(生成唯一文件名)。
  • UploadFile 報 550 錯誤(文件已存在無法覆蓋/刪除)。

根因

FTP 目錄/文件缺少「刪除」權限。UploadFile 覆蓋邏輯通常為「刪除舊文件 → 上傳新文件」,若 FTP 用戶無刪除權限則失敗,返回 550。

驗證方法

  1. 手動用 FTP 客戶端(FileZilla)登錄,嘗試刪除目標文件 → 失敗確認權限問題。
  2. 將文件改名後上傳 → 成功,證明寫入權限正常,僅缺刪除權限。

解決方案

  1. FTP 服務器配置:給上傳用戶分配「刪除」權限(IIS FTP Authorization Rules → Allow Delete)。
  2. 代碼繞過:上傳前先刪除(WebRequestMethods.Ftp.DeleteFile),捕獲異常後再上傳,或用唯一文件名模式。
  3. 應用層面:文件名含時間戳/UUID,避免衝突,定期清理任務刪除舊文件。

參考:StackOverflow 同類問題

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