使用Http Post呼叫api卻收到405 method not allowed

使用Http Post呼叫api卻收到405 method not allowed

在使用Post方法呼叫api上傳檔案時收到server回傳405 method not allowed
開啟另一個專案呼叫同一樣的api卻可以正常運作

原先以為是兩個專案的Web.config不同造成IIS設定不同
但查了老半天卻看不出差在哪

無意間瞥見在錯誤訊息的頁面中可能原因提到:
傳送到虛擬目錄的要求使用了 HTTP 指令動詞 POST,而且預設文件是不支援 GET 或 HEAD 以外 HTTP 指令動詞的靜態檔案。

回去看有問題的專案資料夾時,發現多了個資料夾
才導致這個問題

例如:
我呼叫api的是用:http://localhost/api/System/uploadFile

而專案目錄中卻存在api/System/uploadFile這個路徑
導致Routing的時候誤判,以為是要去存取uploadFile
但存取路徑並沒有定義Post方法,Server才會回傳405

最後把api/System/uploadFile這串資料夾刪除後就能正常運作了