0

ファイルは適切にアップロードされ、ProgessEvent.Progress メソッドは 100% 完了したことを示していますが、Event.Complete メソッドは起動しません。サーバーから何か特定のものを送り返す必要がありますか? 私は単に成功メッセージを送り返しています。エラーは発生しません。

progress メソッドが 100% に達したら、そのまま進めばよいと思います。データが送信され、サーバーから応答が受信された後に、Event.Complete メソッドが起動されるべきではありませんか?

* *更新: Event.Complete メソッドでエラーが発生しています....

TypeError: エラー #1034: 型強制に失敗しました: flash.events::Event@1277971f1 を flash.events.DataEvent に変換できません。

* onLoadComplete(event:DataEvent) メソッドを onLoadComplete(event:Event) に変更して問題を修正しました。エラーは解消され、メソッドが起動しています。システムで許可されたら、自分の質問に答えます。

相対コードは次のとおりです。

fileRef = new FileReference();  
fileRef.addEventListener(Event.SELECT, onFileSelected);
fileRef.addEventListener(Event.COMPLETE, onUploadComplete);
fileRef.addEventListener(ProgressEvent.PROGRESS,onUploadProgress);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, onUploadError);
fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onUploadError);

private function onUploadProgress(event:ProgressEvent):void {
    status = ((event.bytesLoaded * 100) / event.bytesTotal).toString(); 

}

private function onUploadComplete(event:DataEvent): void {
    status = "Complete";
}

private function onUploadError(event:Event):void {
    if (event is IOErrorEvent) {
        Alert.show((event as IOErrorEvent).text.toString());
    } else if (event is SecurityErrorEvent) {
        Alert.show((event as SecurityErrorEvent).text.toString()); 
    } else {
        status = "Unknown error";
    }
}
4

1 に答える 1

0

私が変更され ...

private function onUploadComplete(event:DataEvent):void {
    status = "Complete: "+event.toString();
}

に...

private function onUploadComplete(event:Event):void {
    status = "Complete: "+event.toString();
}

これは、単純な xml ブロッ​​クだけで、データを送り返していないためだと思います。これが他の誰かに役立つことを願っています。

于 2013-08-06T00:08:50.507 に答える