public static async Task <HttpResponseMessage> Upload(String requestUrl, IList <MultipartUploadMedia> uploadMedias, string requestJson) { MultipartFormDataContent MultipartContent = new MultipartFormDataContent(); foreach (var UploadMedia in uploadMedias) { MultipartContent.Add(new StreamContent(UploadMedia.FileStream()), UploadMedia.PartName, UploadMedia.FileName); } if (requestJson != null) { StringContent JsonContent = new StringContent(requestJson, Encoding.UTF8, "application/json"); MultipartContent.Add(JsonContent, "request"); } HttpRequestMessage Request = new HttpRequestMessage { RequestUri = new Uri(requestUrl), Method = HttpMethod.Post, Content = MultipartContent }; using (HttpClient HttpClient = new HttpClient()) { return(await HttpClient.SendAsync(Request).ConfigureAwait(false)); } }