public async Task <VkUploadPhotoResponse> UploadPhoto(string url, string fileName, Stream photoStream) { var client = new HttpClient(); string boundary = "----------" + DateTime.Now.Ticks.ToString("x"); var content = new MultipartFormDataContent(boundary); var fileContent = new StreamContent(photoStream); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { FileName = fileName, Name = "photo" }; content.Add(fileContent); var responseMessage = await client.PostAsync(new Uri(url), content); byte[] bytes = await responseMessage.Content.ReadAsByteArrayAsync(); Encoding encoding = Encoding.UTF8; //VK returns windows-1251 which causes exception on Win10 string response = encoding.GetString(bytes, 0, bytes.Length); var json = JObject.Parse(response); return(VkUploadPhotoResponse.FromJson(json)); }
public async Task <VkUploadPhotoResponse> UploadWallPhoto(string url, string fileName, Stream photoStream) { var client = new HttpClient(); string boundary = "----------" + DateTime.Now.Ticks.ToString("x"); var content = new MultipartFormDataContent(boundary); var fileContent = new StreamContent(photoStream); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { FileName = fileName, Name = "photo" }; content.Add(fileContent); var responseMessage = await client.PostAsync(new Uri(url), content); var response = await responseMessage.Content.ReadAsStringAsync(); var json = JObject.Parse(response); return(VkUploadPhotoResponse.FromJson(json)); }