Получение прогресса на POST с использованием HTTPService в Flex / AS3 - PullRequest
2 голосов
/ 18 декабря 2008

Я использую HTTPService с операцией POST для отправки файла в кодировке Base64 (взятого из растровых данных в приложении), но я действительно мог бы получить некоторое представление о ходе выполнения операции POST (например, как FileReference.upload ()).

Я не думаю, что это возможно, но было бы здорово, если бы это было (любым способом, я хочу изменить мои настройки, чтобы получить это).

Ответы [ 3 ]

8 голосов
/ 23 декабря 2008

Не используйте HTTPService. Используйте URLRequest, URLLoader и URLVariables.

Если вы используете тег HTTPService, возьмите его и замените его тегом Script, заполненным чем-то вроде ...


private function forYou() : void{
     var req : URLRequest = new URLRequest("PUT YOUR URL HERE")
     var loader : URLLoader = new URLLoader();
     var params : URLVariables = new URLVariables();
     params.WHATEVER = WHATEVER YOU WANT IT TO BE;
     req.data = params;
     req.method = URLRequestMethod.POST;
     loader.addEventListener(ProgressEvent.PROGRESS, YOUR LISTENER FUNCTION NAME);
     loader.load(req);
}

Присвойте это имя функции атрибуту creationComplete корневого тега.

Если вы не используете тег HTTPService, просто найдите объект HTTPService в вашем ActionScript и используйте приведенный выше код.

0 голосов
/ 16 июня 2009

Это невозможно с HTTPService. Его единственными событиями являются result, fault и invoke (кроме несущественных унаследованных событий activate и deactivate).

Чтобы получить информацию о ходе процесса загрузки, сервер должен предоставить информацию, которая потребует средств связи между сервером и клиентом во время операции, которых нет для обычной операции HTTP POST.

Одним из вариантов может быть создание на сервере объекта, который будет создаваться всякий раз, когда сервер начнет получать данные POST от вашего клиента. Затем он будет отслеживать ход выполнения и предоставлять эти данные остальной части вашего серверного приложения. Ваш клиент может затем запустить систему опроса, которая будет запрашивать значение этой конкретной переменной.

Похоже на надуманный вариант, хотя ...

0 голосов
/ 31 декабря 2008

Это помогло мне использовать веб-сервис REST:

http://code.google.com/p/as3httpclient/wiki/Links

Пример

...