Проблема состоит вот в чём, мне нужно загрузить картинку на сервер ВК, чтобы потом постить её на стену.
Делаю всё по документации:
Код: Выделить всё
VK.api('wall.getPhotoUploadServer', { }, function(data) { if (data.response) { upload_url = data.response.upload_url; // получаю "upload_url":"http:\/\/cs11449.vkontakte.ru\/upload.php?act=do_add_posted&mid=101257.... в общем тут всё нормально //далее делаю POST запрос на полученный upload_url $.post( upload_url, {photo: 'http://trvx.ru/jpg/notification.jpg' }, function(data) { hash = data.hash; //а вот здесь в ответ ( через firebug смотрю ) ничего не получаю, но если перейду по запросу через браузер - то получу такое //{"mid": "10125748", "gid": "0", "server": "11449", "photo": "", "hash": "8f44ed5e553d7379f174bad775a26c26"} }); } });
"photo": "" по прежнему пустое
Это алгоритм документации Вконтакте API:
Загрузка изображения на стену пользователя ВКонтакте осуществляется приложением в 4 этапа:
1. С помощью метода wall.getPhotoUploadServer приложение узнает http-адрес для загрузки фотографий.
2. Приложение формирует POST-запрос на полученный адрес.
Запрос должен содержать поле photo, которое содержит файл с изображением (JPG, PNG, BMP или GIF).
В ответ приложение получает следующие данные в формате JSON:
{"server": '1', "photos": '1', "hash": '12345abcde'}
3. С помощью метода wall.savePost приложение передает серверу полученные данные (server, photo и hash) и получает данные о загруженном изображении, в том числе post_hash.
4. С помощью вызова функции saveWallPost Flash-контейнера с параметром post_hash, полученном в п.3, приложение может сохранить изображение с дополнительным текстом на стене пользователя.
ссылка на оригинал: http://vkontakte.ru/page-1_2372787