as3 в .net, не получая обратный вызов Event.COMPLETE - PullRequest
1 голос
/ 12 февраля 2010

Я создал загрузчик изображений для приложения, над которым я работаю. Сначала я использовал php для серверного скрипта, и все работало нормально. Впоследствии я узнал, что мне нужно использовать .net, поэтому я создал новые серверные скрипты. У меня проблема в том, что мой обработчик event.COMPLETE никогда не запускается. Я могу получить данные обратно, используя прослушиватель DATAEVENT, но затем он останавливается на этой ошибке:

Error #2044: Unhandled IOErrorEvent:. text=Error #2036: Load Never Completed.

Вот как я отправляю свой файл.

var fileRefReq:URLRequest = new URLRequest(FILE_UPLOAD_TEMP);
                var fileReqVars:URLVariables = new URLVariables();
                fileReqVars.subdir = "Temp";
                fileRefReq.data = fileReqVars;
                fileRefReq.method = URLRequestMethod.POST;
                fileRef.upload(fileRefReq);

Файл определенно загружается в первый каталог TEMP, но затем он разрывается с указанной выше ошибкой.

Кто-нибудь еще сталкивался с подобной проблемой или указал мне верное направление для решения этой проблемы?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2010

Вы должны обработать событие, такое как:

// add the event listener
urlLoader.addEventListener( IOErrorEvent.IO_ERROR, onErrorHandler );

// handle the error event like this:
private function onErrorHandler( e: IOErrorEvent ): void {
 trace( "An io error occurred." );
}

Надеюсь, что поможет

0 голосов
/ 12 февраля 2010

Это ошибка, вызванная Flash. Наиболее распространенные причины:

  1. Это может быть ошибка 404, которую вы получаете где-то во Flash.

  2. Эта ошибка может возникать, если вы закрываете браузер во время загрузки чего-либо.

  3. По умолчанию вызывающий SWF-файл и загружаемый URL-адрес должны находиться в одном домене. Например, SWF-файл на www.adobe.com может загружать данные только из источников, которые также находятся на www.adobe.com. Чтобы загрузить данные из другого домена, поместите файл политики URL на сервер, на котором размещены данные.

Номер 3 важен, потому что общая проблема пользователей во Flash - это проблемы безопасности, так что это просто что-то исключающее. Скорее всего, причина не в этом.

Я бы проверил эти 3 причины и перечитал URLRequest: http://livedocs.adobe.com/flex/3/langref/flash/net/URLRequest.html

После некоторой дополнительной мысли я думаю, что время истекло, но это всего лишь теория. Добавьте прослушиватель событий так:

urlLoader.addEventListener("httpResponseStatus", function(event:HTTPStatusEvent):void

чтобы увидеть, что на самом деле происходит.

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