Как сформировать post запрос?

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
corenet
Сообщения: 32
Зарегистрирован: 18 июл 2010, 17:33

Как сформировать post запрос?

Сообщение corenet »

Как сформировать post запрос?
Получаю миниатюру картинки из интернета, с кроссдоменником всё нормально.
Вывожу на флешку, миниатюру показывает.
По этой маленькой картинке кликаю, загружается большая, её тоже показывает.
И тут надо загрузить эту большую картинку в фотоальбом Вконтакте,
именно это не получается.
Читал доки вконтакте по вк api.
Прочитал "Процесс загрузки файлов на сервер ВКонтакте" http://vkontakte.ru/page2372787
Там 3 этапа.
Первый этап успешен. Получил http-адрес для загрузки фотографий, проверил, этот адрес
такой же как в примере http://vkontakte.ru/pages.php?o=-1&p=ph ... loadServer

Теперь этап второй: Приложение формирует POST-запрос на полученный адрес.
Именно это и не получается.
Искал на этом форуме, похожие темы поднимались.
Пробовал:
UploadPostHelper
ru.inspirit.net.MultipartURLLoader;
http://www.flasher.ru/forum/showthread.php?t=140804
http://blog.inspirit.ru/?p=139
http://www.flasher.ru/forum/showthread.php?t=136249
http://www.adobe.com/livedocs/flash/9.0 ... rence.html (там пример запроса)
http://vkontakte.typing.by/
и другие темы с этого форума.

Ничего не помогло. Несколько дней мучаюсь.
Самое главное, что с вк api научился взаимодействовать, но вот только post запрос не могу составить.
Есть bitmap data большой картинки, переменная bmpd.

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

 //С помощью метода photos.getUploadServer узнали http-адрес для загрузки фотографийvar xml:XML = new XML(myLoader.data);//var xml:XML = new XML(evt.target);tf.text = tf.text + "\r\n xml.elements(upload_url)="+xml.elements("upload_url")+"\r\n"+"___qwe_"+xml.elements("upload_url").toString()+" \r\n "; //теперь формируем post-запрос на полученный адрес.  var jpgEncoder:JPGEncoder= new JPGEncoder();var bArray:ByteArray= jpgEncoder.encode(bmpd);// bmpd - готовая bitmap data var myRequest:URLRequest = new URLRequest(xml.elements("upload_url").toString());var myLoader1:URLLoader = new URLLoader();var myVariables:URLVariables = new URLVariables();                                myLoader1.dataFormat = URLLoaderDataFormat.BINARY;//myVariables.file1 = bArray;//myRequest.data = myVariables;myRequest.data = bArray;myRequest.contentType = 'multipart/form-data; boundary=' + UploadPostHelper.getBoundary();myRequest.requestHeaders.push(new URLRequestHeader("Content-type", "application/octet-stream"));myRequest.method = URLRequestMethod.POST;myRequest.requestHeaders.push( new URLRequestHeader( 'Cache-Control', 'no-cache' ) );                                myLoader1.addEventListener(Event.COMPLETE, function (evt:Event):void {tf.text = tf.text + "\r\n " + "evt.target="+evt.target.data;});myLoader1.load(myRequest); 
В текстовом поле выдаёт:
testsdfwefwef0_1_2_
tmp_mc.image_url=http://site.ru/big_img.jpg

xml.elements(upload_url)=http://cs600.vkontakte.ru/upload.php?ac ... ad=1&api=1

___qwe_http://cs600.vkontakte.ru/upload.php?act=do_add&mid=264***&aid=655***&gid=0&hash=42157***&rhash=7e6303***&swfupload=1&api=1
Поймите, я не из тех, кто "сделайте за меня и дайте готовое на блюдечке с каёмочкой".
Я прошу совета, как сформировать этот проклятый post запрос?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как сформировать post запрос?

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

Вот это не поможет http://flapps.ru/forum/topic260-10.html#p6303 ?
corenet
Сообщения: 32
Зарегистрирован: 18 июл 2010, 17:33

Re: Как сформировать post запрос?

Сообщение corenet »

Александр писал(а):Вот это не поможет http://flapps.ru/forum/topic260-10.html#p6303 ?
Александр, спасибо за ответ.
Так когда я делал поиск по этому форуму, то читал эту тему.
Это мне не подходит потому, что там используется FileReference.
А у меня картинку грузит не с локального диска, а с интернета.
Мне нужно именно post-запрос сформировать.
Аватара пользователя
Garrat
Сообщения: 36
Зарегистрирован: 15 июл 2010, 14:44

Re: Как сформировать post запрос?

Сообщение Garrat »

corenet
Э, Вы не правы. FileReference у меня преобразуется в ByteArray, и только затем отправляется. Просто вместо моего _data ставьте свое изображение.
Пост запрос будет одинаковый.

Сам POST я формировал с использованием библиотеки MultipartURLRequest (она прикреплена к тому посту).
corenet
Сообщения: 32
Зарегистрирован: 18 июл 2010, 17:33

Re: Как сформировать post запрос?

Сообщение corenet »

Garrat писал(а):corenet
Э, Вы не правы. FileReference у меня преобразуется в ByteArray, и только затем отправляется. Просто вместо моего _data ставьте свое изображение.
Пост запрос будет одинаковый.

Сам POST я формировал с использованием библиотеки MultipartURLRequest (она прикреплена к тому посту).
Так FileReference нужен когда с локального диска грузишь файл в интернет,
открывается окно выбора файла, а мне это не нужно. Bitmapdata у меня уже есть.
Аватара пользователя
Garrat
Сообщения: 36
Зарегистрирован: 15 июл 2010, 14:44

Re: Как сформировать post запрос?

Сообщение Garrat »

corenet
FileReference позволяет приложению получить файл с локального иска в виде ByteArray. Затем он отправляется на сервер в виде POST-запроса.
Вам что нужно, POST-запрос? Так вот, он будет таким же, FileReference тут ни при чем.
corenet
Сообщения: 32
Зарегистрирован: 18 июл 2010, 17:33

Re: Как сформировать post запрос?

Сообщение corenet »

Garrat писал(а):corenet
FileReference позволяет приложению получить файл с локального иска в виде ByteArray. Затем он отправляется на сервер в виде POST-запроса.
Вам что нужно, POST-запрос? Так вот, он будет таким же, FileReference тут ни при чем.
Мне не нужно с локального диска. Изображение у меня уже есть и байтаррэй тоже есть.
Мне нужно теперь этот байтаррэй отправить post-запросом.
Аватара пользователя
Garrat
Сообщения: 36
Зарегистрирован: 15 июл 2010, 14:44

Re: Как сформировать post запрос?

Сообщение Garrat »

corenet
Вы вообще читаете, что я пишу? :shock:
corenet
Сообщения: 32
Зарегистрирован: 18 июл 2010, 17:33

Re: Как сформировать post запрос?

Сообщение corenet »

Garrat писал(а):corenet
Вы вообще читаете, что я пишу? :shock:
Да, читаю.
FileReference загружает с локального диска, открывается окно выбора файла и там диски c: d: и тд
А мне это не нужно, изображение у меня уже загружено из интернета.
Мне не нужно окно выбора файла.
Аватара пользователя
Garrat
Сообщения: 36
Зарегистрирован: 15 июл 2010, 14:44

Re: Как сформировать post запрос?

Сообщение Garrat »

:lol:
Ок, возможно я плохо объясняю :D Попробую еще разок.

Не смотрите на FileReference. Смотрите ниже! У меня c POST-запросом передается ByteArray, Вы увидите, если посмотрите внимательнее.
Вы вполне можете, ничего не меняя в моем запросе, кроме, собственно, картинки, использовать его [запрос].
Ответить