Загрузка картинки на сервер вконтакте

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Аватара пользователя
Guard-x
Сообщения: 7
Зарегистрирован: 28 окт 2010, 00:55

Загрузка картинки на сервер вконтакте

Сообщение Guard-x »

добрый день.
Проблема состоит вот в чём, мне нужно загрузить картинку на сервер ВК, чтобы потом постить её на стену.
Делаю всё по документации:

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

         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"}                 });           }        });  
Потом таким же образом пробовал посылать запрос не через JS а через php файл библиотекой CURL - ответ тот же: {"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
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Загрузка картинки на сервер вконтакте

Сообщение Александр »

Наверно параметр photo должен быть не ссылкой на изображение, а самим изображением закодированным в base64. Как лучше закодировать - не знаю.
artfabrique
Сообщения: 4
Зарегистрирован: 07 мар 2011, 22:05

Re: Загрузка картинки на сервер вконтакте

Сообщение artfabrique »

Простите, а вы не решили данную проблему?
Ответить