Пишу свое маленькое приложение по работе с ВКонтакте. Особенность его в том, что это приложение есть расширение для google chrome. Все вроде бы шло неплохо: научился авторизовываться, работать с vk api, даже постить сообщения на стену научился, но встала задача отправлять на стену изображения, на которой я споткнулся.
Ситуация следующая: во-первых, изображение, которые я хочу отправлять находятся на сторонних серверах, но я знаю их URL и научился по нему получать целиком изображение. А далее, все как описано на страничке для разработчиков на сайте вконтакте: получаю URL сервера для загрузки фотографий и отправляю на него пост запрос с телом изображения и даже полчаю ответ, в котором есть заполненные поля server и hash, а вот поле photo пустое. В этом и проблема. Вот, как я это делаю:
1. Сначаа получаю адрес сервера для загрузки. Код не привожу, приведу только URL, который приходит в ответ от сервера:
Код: Выделить всё
http://cs1234.vkontakte.ru/upload.php?act=do_add&mid=123456&aid=-14&gid=0&hash=91b06d3426e6df4e6601de2ef18f7a17&rhash=b745c8721d062edc5ae7cf2c2681bf41&swfupload=1&api=1&wallphoto=1
Код: Выделить всё
function vkUploadImageToServer(uploadServerUrl, imageBinaryData) { if ((uploadServerUrl != null) && (imageBinaryData != null)) { $.ajax({ url: uploadServerUrl, type: 'POST', data: { photo: imageBinaryData }, datatype: 'json', success: function (value) { alert("Success value = " + value); }, error: function (value) { alert("Error value = " + value); } }); }};
Код: Выделить всё
Success value = {"server":1234,"photo":"[]","hash":"12344d1e74796d7788effdf5ead84b54"}
Очень надеюсь на вашу помощь, уважаемые форумчане