Отправка картинок в сообщениях, получаю пустой "photo":"[]"

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Ответить
dayover
Сообщения: 1
Зарегистрирован: 15 май 2015, 13:47

Отправка картинок в сообщениях, получаю пустой "photo":"[]"

Сообщение dayover »

Код: Выделить всё

private static HttpWebResponse PostMethod()        {            string url = "https://api.vk.com/method/photos.getMessagesUploadServer?&v=5.31&access_token=2с....";            WebClient client = new WebClient();            string json = client.DownloadString(url);            JavaScriptSerializer json_serializer = new JavaScriptSerializer();                         byte[] imageData = client.DownloadData("http://cs5530.vk.me/u43529379/-6/m_b9515ce2.jpg");            RootObject response = (RootObject)json_serializer.Deserialize(json, typeof(RootObject));                                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(response.response.upload_url);            request.Method = "POST";            request.Credentials = CredentialCache.DefaultCredentials;             UTF8Encoding encoding = new UTF8Encoding();            var bytes = encoding.GetBytes(imageData.ToString());             request.ContentType = "multipart/form-data";            request.ContentLength = bytes.Length;             using (var newStream = request.GetRequestStream())            {                newStream.Write(bytes, 0, bytes.Length);                newStream.Close();              }            return (HttpWebResponse)request.GetResponse();        }
На выходе я получаю ссылку для загрузки:
Ну а потом вот это :
{"server":405029,"photo":"[]","hash":"2c9cf285a3a7b8cd69a821f48815880e"}
XELAD
Сообщения: 205
Зарегистрирован: 17 июл 2012, 05:25

Re: Отправка картинок в сообщениях, получаю пустой "photo":"[]"

Сообщение XELAD »

Получение такой "ошибки" означает, что вы отослали "не" картинку по мнению вк. Отсылать нужно байты с предшествующей информацией, другими словами, сам файл (но не ссылку на него).
Ответить