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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д