VK API Загрузка фотографий в альбом пользователя - C#

Узнай цену своей работы

Формулировка задачи:

Доброй ночи, кому-то уже дня... Пытаюсь загрузить фотографию в альбом к себе. Как известно, загрузка проходит в 3 этапа. 1. С помощью метода photos.getUploadServer приложение узнает http-адрес для загрузки фотографий в зависимости от альбома, в который их необходимо загрузить. Тут все замечательно, ответ в json приходит корректный. 2. Приложение формирует POST-запрос на полученный адрес. Запрос должен содержать поля file1-file5, которые содержат файлы с изображениями (JPG, PNG, BMP или GIF). С передачей параметров, извлеченных из прошлого json ответа все нормально. Проблема заключается в том, что я не знаю как прикрепить эти file1-file5. Интересует преодоление именно 2-го этапа. Пусть у нас уже есть условный полученный адрес
string urlPostResult = "http://cs613528.vk.com/upload.php?act=do_add&mid=130362776&aid=186480713&gid=0&hash=28e1a48d1f3a6115214125889570050a&rhash=26926211185e0644e1e9a850f0714d2b&swfupload=1&api=1";
Помогите пожалуйста, товарищи, изящным наглядным кодом.

Решение задачи: «VK API Загрузка фотографий в альбом пользователя»

textual
Листинг программы
 
Image bitmap;
            string filename = Path.Combine("foto/1.jpg");
            bitmap = new Bitmap(filename);
            string base64;
            using (MemoryStream ms = new MemoryStream())
            {
                bitmap.Save(ms, ImageFormat.Jpeg);
                base64 = Convert.ToBase64String(ms.ToArray());
            }
 request = (HttpWebRequest)WebRequest.Create(url_upload_server); //загружаем картинку
            request.Method = "POST";
            request.ContentType = "multipart/form-data; boundary=------ewjgo8er7g9ejgoie8r7ger9guejog87";
            request.UserAgent = useragent;
 
            string result;
            using (var requestStream = request.GetRequestStream())
            using (var writer = new StreamWriter(requestStream))
            {
                writer.Write("------ewjgo8er7g9ejgoie8r7ger9guejog87\n\r");
                writer.Write("Content-Disposition: form-data; name=\"file\"; filename=\"1.jpg\"\n\r");
                writer.Write("Content-Type: image/jpeg\"\n\r");
                writer.Write(base64);
 
 
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы