Загрузка аудиозаписей в vk.com средствами vk api - C#

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

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

Доброго времени суток! Проблема собственно в выполнении post запроса при отправке аудиофайла на сервер. Это второй шаг:
Загрузка аудиозаписей Загрузка аудиозаписей на сервер ВКонтакте от имени пользователя осуществляется приложением в 3 этапа: 1. С помощью метода audio.getUploadServer приложение узнает http-адрес для загрузки аудиозаписей. 2. Приложение формирует POST-запрос на полученный адрес. Поле file должно содержать файл в формате MP3. В ответ приложение получает данные: server, audio и hash в виде JSON: {"server": "1234", "audio": "1234", "hash": "12345abcde"} 3. С помощью метода audio.save приложение передает серверу полученные данные (server, audio и hash) и получает данные о загруженной аудиозаписи. Аудиозаписи загружены.
Источник Процедура заливки файла:
 public static void loadToVK(string filePath)
        {
            string url = String.Format(@"https://api.vk.com/method/audio.getUploadServer.xml?access_token={0}", token);
            var xml = new XmlDocument();
            xml.Load(url);
            string serverUrl = xml.InnerText;
            serverUrl = serverUrl.Replace("&", "&");
            var bytes = File.ReadAllBytes(filePath);
            var cookies = new CookieContainer();
            ServicePointManager.Expect100Continue = false;
 
            var request = (HttpWebRequest)WebRequest.Create(serverUrl);
            request.CookieContainer = cookies;
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            using (var requestStream = request.GetRequestStream())
            using (var writer = new StreamWriter(requestStream))
            {
                writer.Write(bytes);
            }
            string responseJSON;
            using (var responseStream = request.GetResponse().GetResponseStream())
            using (var reader = new StreamReader(responseStream))
            {
                responseJSON = reader.ReadToEnd();
            }
 
            Dictionary<string, string> info = ParseJson(responseJSON);
            url = String.Format(@"https://api.vk.com/method/audio.save.xml?server={0}&audio={1}&access_token={2}&hash={3}", info["server"], info["audio"], token, info["hash"]);
            xml = new XmlDocument();
            xml.Load(url);
            
        }
Может кто-нибудь выполнял такое... Help)))

Решение задачи: «Загрузка аудиозаписей в vk.com средствами vk api»

textual
Листинг программы
Dictionary<string, string> info = ParseJson(responseJSON);
            url = String.Format(@"https://api.vk.com/method/audio.save.xml?server={0}&audio={1}&access_token={2}&hash={3}", info["server"], info["audio"], token, info["hash"]);
            xml = new XmlDocument();
            xml.Load(url);

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


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

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

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