2011-03-02 2 views
1
VS C# 2005 

아래 코드를 사용하여 Windows IIS 5.1을 실행하는 서버에 파일을 업로드하고 있습니다.웹 클라이언트를 사용하여 파일 업로드 405 오류 문제

Windows XP를 실행하는 로컬 서버에서 테스트 중입니다. 그러나 다음과 같은 오류 메시지가 나타납니다.

The remote server returned an error (405) Method Not Allowed 

나는 IIS 사용권 문제 일 가능성이 높습니다. 그러나 읽기, 쓰기 및 디렉터리 검색을 허용하도록 IIS를 구성했습니다.

업로드하려는 config.xml 파일은 실행 파일과 동일한 디렉토리에 있습니다. 어떤 제안에 대한

private void upload_config_to_server() 
    { 
     Uri url = new Uri("http://10.10.10.3/softphone/config.xml"); 

     WebClient wc = new WebClient(); 
     if (!wc.IsBusy) 
     {     
      try 
      { 
       wc.UploadFile(url, null, "config.xml"); 
      } 
      catch (WebException webex) 
      { 
       Console.WriteLine("Web Exception {0}", webex.Message); 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine("Exception {0}", ex.Message); 
      } 
     } 
    } 

많은 감사,

답변

2

만 등록 된 파일 형식은 IIS에서 POST 메소드로 요청을 받아 들일 수 있습니다. 자세한 내용은이 "How to resolve HTTP 405"도움말을 참조하십시오.

또한 파일을 게시 할 때 업로드중인 폴더에 표시하려면 서버 쪽 스크립트에서이 업로드를 제대로 처리해야합니다. URL (wc.UploadFile의 첫 번째 인수)은 업로드를 처리하는 서버 측 스크립트 여야합니다.

+0

IIS 설정과 관련하여 모든 작업을 수행했습니다. 그러나 OK 단추는 회색으로 남아있었습니다. 그래서 나는 그걸로 아무 것도 할 수 없었습니다. 그러나 wc.UpLoadFile에 "PUT"매개 변수를 전달하여 작동하도록했습니다. "PUT"과 함께 작동하는 이유는 무엇입니까? 감사. – ant2009

+0

HTTP PUT은 GET, POST, DELETE 등과 같은 또 다른 방법입니다. 파일 업로드에만 사용되며 URI는 파일을 저장할 대상입니다. 나는 이것이 POST의 적절한 처리 대신에 당신이 찾고있는 것과 정확히 같다고 생각합니다 ... – Sergey

+0

컨트롤러에 올바른 라우팅 **이있는'POST'를위한 ** 액션 메소드 **가 있는지 확인하십시오. –