Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }