2016-11-22 1 views
1

여러 부분으로 구성된 데이터가 될 수없는 POST 요청을 보내야합니다. 내가 지금까지 본 응답은 RestSharp에 대한 http.cs 파일을 변경하는 것이지만 익숙하지 않습니다. 이것에 대해 어떻게 가야하는지.Non Multipart 데이터 보내기 RestSharp를 통해

내 코드 :

 var POST_LTFSclient = new RestClient("https://xxxx"); 
     var POST_LTFSrequest = new RestRequest(Method.POST); 
     POST_LTFSrequest.AddHeader("Authorization", "Token " + Token); 
     POST_LTFSrequest.AddHeader("Accept", "Application/xml"); 
     POST_LTFSrequest.AddHeader("Content-type", "Application/xml"); 
     POST_LTFSrequest.AddFile("content", @"C:\xxx\xxx\xxx.xml"); 

마지막 줄은 단지 수 없습니다 :

 POST_LTFSrequest.AddFile(@"C:\xxx\xxx\xxx.xml"); 

하지만 때문에 데이터는 항상 다중 부분 보내려면이 모든 시도의

. 불행히도 수신 측에서이를 허용하지 않습니다.

구현하기 쉬운이 문제를 해결할 수있는 방법이 있습니까? 그렇지 않은 경우 Restsharp를 옵션으로 허용하는 방법을 설명해 줄 수는 없습니다.

답변

0

는 그래서

나는이 문제에 더 이상 정보를 찾을 수 없습니다 ... RestSharp 너무 많이 변경 되었기 때문에, 내가 찾은 해답은 모두 구식 것을 밝혀, 그래서 멀리 이동해야했다 restSharp에서.

내가 함께 온 솔루션은 다음과 같다 :

using (WebClient client = new WebClient()) 
     { 
      client.Headers.Add("Content-Type", "application/xml"); 
      client.Headers.Add("Accept", "application/xml"); 
      client.Headers.Add("Authorization", "Token " + Token); 
      using (Stream fileStream = File.OpenRead(@"C:\xxx\yyy\zzz.xml")) 
      using (Stream requestStream = client.OpenWrite(new Uri("https://xxx/yyy/zzz"), "POST")) 
      { 
       fileStream.CopyTo(requestStream); 
      } 

     } 
관련 문제