fixing issue where uploads using the httpclient failed · e0e57e5ad8 - SVN.BY: Go Git Service
Przeglądaj źródła

fixing issue where uploads using the httpclient failed

Tiernan OToole 8 lat temu
rodzic
commit
e0e57e5ad8
1 zmienionych plików z 9 dodań i 8 usunięć
  1. 9 8
      B2Uploader/Program.cs

+ 9 - 8
B2Uploader/Program.cs

252
         static async Task<string> MakeRequest2(string url, List<Tuple<string, string>> headers, string data, bool isFile = false, string contentType = "application/json; charset=utf-8")
252
         static async Task<string> MakeRequest2(string url, List<Tuple<string, string>> headers, string data, bool isFile = false, string contentType = "application/json; charset=utf-8")
253
         {
253
         {
254
             var client = new HttpClient();
254
             var client = new HttpClient();
255
-            
256
-            HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Post, url);
255
+           
257
             foreach (var head in headers)
256
             foreach (var head in headers)
258
             {
257
             {
259
-                message.Headers.Add(head.Item1, head.Item2);
258
+                client.DefaultRequestHeaders.Add(head.Item1, head.Item2);
260
             }
259
             }
260
+
261
+            HttpContent content = null;
261
             if (isFile)
262
             if (isFile)
262
             {
263
             {
263
-                message.Content = new StreamContent(System.IO.File.OpenRead(data));
264
+                content = new StreamContent(System.IO.File.OpenRead(data));
265
+                content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(contentType);
264
             }
266
             }
265
             else
267
             else
266
             {
268
             {
267
-                message.Content = new StringContent(data);
269
+                content = new StringContent(data);
268
             }
270
             }
269
-
270
-            var resp = await client.SendAsync(message);
271
-
271
+            var resp = await client.PostAsync(url, content);
272
+            
272
             resp.EnsureSuccessStatusCode();
273
             resp.EnsureSuccessStatusCode();
273
             return await resp.Content.ReadAsStringAsync();          
274
             return await resp.Content.ReadAsStringAsync();          
274
         }
275
         }