Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Загрузка изображения в альбом. Снова. (http://www.flasher.ru/forum/showthread.php?t=158688)

kiloT 22.06.2011 13:03

Загрузка изображения в альбом. Снова.
 
Всем здравствуйте.

Помогите победить. Отправляю скриншот в альбом из приложения. Вот код:
url беру из photos.getUploadServer
Код AS1/AS2:

private function uploadScreenshot(url:String): void {
  var ba:ByteArray = new ByteArray();
  var encoder:JPEGEncoder = new JPEGEncoder();
  var bd:BitmapData = new BitmapData(World.instance.width, World.instance.height);
  var mul:MultipartURLLoader = new MultipartURLLoader();
 
  bd.draw(World.instance);
  ba = encoder.encode(bd);
 
  mul.requestHeaders.push(new URLRequestHeader("Content-type", "multipart/form-data; boundary=" + MultipartData.BOUNDARY));
  mul.addEventListener(Event.COMPLETE, onLoaderComplete);
  mul.addFile(ba, "file1.jpg", "file1", 'image/jpg');
  mul.load(url);
}

Сваливается на mul.load(url)

Можете тыкнуть носом где почитать. Хотя уже весь поиск тут перерыл. Заранее спасибо

geka96 22.06.2011 18:51

kiloT, насколько я знаю..vk api 2.0 уже не актуален..) А этот код ведь написан на vk api 2.0 !?)

kiloT 23.06.2011 14:26

Все делаю как описано тут.

geka96 23.06.2011 15:08

Видно не правильно post-запрос посылаете, попробуйте по другому! У меня кстате тоже сейчас проблема с post-запросом...

kiloT 23.06.2011 15:29

Ну вот я и спрашиваю =) как надо то =) а то уже все перепробывал.

geka96 23.06.2011 15:59

Цитата:

Сообщение от kiloT (Сообщение 1005936)
Ну вот я и спрашиваю =) как надо то =) а то уже все перепробывал.

Вот у меня так получилось:
Код AS3:

//Составляем POST-запрос
function getUploadServerHandler(data:Object):void
{
        var loader = new URLLoader();
        loader.load(new URLRequest(urlrequest)); //urlrequest - это ссылка
        loader.addEventListener(Event.COMPLETE, onLoaded);
        function onLoaded(e:Event)
        {
                VK.api("photos.save", loader.data, onUploadComplete);
        }
}

Возвращает вот такую строку:
{"server": "10002", "photos_list": "", "aid": "137478936", "hash": "2a16dd14c7d24423ea1db7cb04071869"}
photos_list - пустой..т.к. пока, что не знаю как его отправить...Думаю если его отправить должно работать..помогите кто-нибудь!)

Добавлено через 31 минуту
А вот другой вариант собрал, думаю он получше...но почему-то не работает...
Код AS3:

    var urlrequest;
    var loader;
    var mll:MultipartURLLoader;
    //Составляем POST-запрос
    function getUploadServerHandler(data:Object):void
    {
        urlrequest = data['upload_url'];
 
        mll = new MultipartURLLoader();
        mll.addEventListener(Event.COMPLETE, onUploadComplete);
        mll.addFile(bytes, "file.jpg", "file1", 'image/jpg');
        mll.load(urlrequest);
    }
    //Сохраняем фото в альбом
    function onUploadComplete(event:Event):void
    {
        var answer:String = mll.loader.data;
        var data:Object = JSON.decode(answer);
        VK.api('photos.save', {aid: viewer_id, server:data.server, photo:data.photo, hash:data.hash }, onUploadComplete2, onError);
    }
    function onUploadComplete2(data)
    {
        id_albums.text = "Успешно сохранено!";
    }
    function onError(data: Object):void
    {
        id_albums.text = "Ошибка: " + data.error_msg;
    }

доходит до листенера:
Код AS3:

mll.addEventListener(Event.COMPLETE, onUploadComplete);

И дальше почему-то не идёт...в чём может быть проблема?..


Часовой пояс GMT +4, время: 00:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.