событие PROGRESS при загрузке ByteArray на сервер с AS3 и PHP - PullRequest
1 голос
/ 21 января 2010

В настоящее время я создаю серию классов as3 / PHP, которые загружают - кодируют + загружают изображения.

Кто-нибудь знает, есть ли способ сообщить о прогрессе при публикации ByteArray на сервере?

ProgressEvent не работает - по крайней мере, в случае загрузки ByteArray -
он сообщает о прогрессе только после загрузки

вот урезанная версия кода, который я использую ...

urlLoader=new URLLoader;
urlLoader.dataFormat=URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(ProgressEvent.PROGRESS,progressHandler);
//          
function progressHandler(e:ProgressEvent):void {
              trace(e.bytesLoaded/e.bytesTotal);

}

спасибо -MW

Ответы [ 3 ]

1 голос
/ 21 января 2010

Используете ли вы URLLoader для его отправки? Вы должны добавить к нему прослушиватель ProgressEvent.

РЕДАКТИРОВАТЬ: Возможно, вам придется отправить данные обратно из PHP, см. Здесь: Получить ProgressEvent из загрузки POST в as3

http://www.ibm.com/developerworks/library/os-php-v525/index.html

0 голосов
/ 24 января 2010

Вы должны заглянуть в эту библиотеку ActionScript 3: http://code.google.com/p/as3httpclient/

Это может решить вашу проблему. В настоящее время я использую его в проекте, и это было здорово.

0 голосов
/ 21 января 2010

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

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

Кроме того, если вы используете Flash Player 10, то можно загрузить файл с компьютера пользователя непосредственно во Flash, манипулировать им, а затем сохранить вернуть его обратно снова (или просто использовать его во Flash) без участия сервера. Однако это может не подходить, если вы кодируете изображения из / в формат, который Flash (или сторонние библиотеки ActionScript) не могут понять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...