1- using System ;
1+ using System ;
22using System . Net ;
33using System . Net . Http ;
4- using System . Net . Http . Headers ;
54using System . Text ;
65using System . Threading ;
76using System . Threading . Tasks ;
@@ -34,16 +33,9 @@ private HttpRequestMessage BuildRequestMessage(System.Net.Http.HttpMethod method
3433 requestMessage . Headers . Add ( h . Key , h . Value ) ;
3534 } ) ;
3635
37-
3836 if ( request . FileStream != null )
3937 {
40- var content = new MultipartFormDataContent ( ) ;
41- var streamContent = new StreamContent ( request . FileStream ) ;
42-
43- streamContent . Headers . Add ( "Content-Type" , request . FileStreamContentType ) ;
44-
45- content . Add ( streamContent , "file" , "image.png" ) ;
46- requestMessage . Content = content ;
38+ requestMessage . Content = this . CreateFileStream ( request ) ;
4739 }
4840 else if ( method == System . Net . Http . HttpMethod . Post || method == System . Net . Http . HttpMethod . Put )
4941 {
@@ -53,6 +45,21 @@ private HttpRequestMessage BuildRequestMessage(System.Net.Http.HttpMethod method
5345 return requestMessage ;
5446 }
5547
48+ private HttpContent CreateFileStream ( RestRequest request )
49+ {
50+ var content = new MultipartFormDataContent ( ) ;
51+ var streamContent = new StreamContent ( request . FileStream ) ;
52+
53+ if ( request . FileStreamContentType != null )
54+ {
55+ streamContent . Headers . Add ( "Content-Type" , request . FileStreamContentType ) ;
56+ }
57+
58+ streamContent . Headers . Add ( "Content-Disposition" , "form-data; name=\" file\" ; filename=\" " + request . FileStreamName + "\" " ) ;
59+ content . Add ( streamContent ) ;
60+ return content ;
61+ }
62+
5663 public TimeSpan Timeout
5764 {
5865 get { return _timeout ; }
@@ -64,7 +71,7 @@ private async Task<RestResponse> ExecuteHttpRequest(System.Net.Http.HttpMethod m
6471 var requestMessage = BuildRequestMessage ( method , url , request ) ;
6572 using ( var cts = new CancellationTokenSource ( _timeout ) )
6673 {
67- HttpResponseMessage response = await _client . SendAsync ( requestMessage , cts . Token ) ;
74+ var response = await _client . SendAsync ( requestMessage , cts . Token ) ;
6875 return await RestResponse . FromResponseMessage ( response ) ;
6976 }
7077 }
0 commit comments