2010-11-27 3 views
1

URLLoaderを使用してサーバーにデータをアップロードしていますが、ProgressEventをリッスンしますがディスパッチしません。エラーはなく、ファイルは正常にアップロードされます。なぜそれは働かないのでしょうか?Actionscript-3 URLLoader:ProgressEventがディスパッチしない

コードは次のように:

//setup 
urlLoader.addEventListener(ProgressEvent.PROGRESS, onProgress); 

//listen 
private function onProgress(e:ProgressEvent):void { 
    trace(e.bytesLoaded + ' ' + e.bytesTotal); 
} 

答えて

-2

私はURLLoaderクラスローダオブジェクトのインスタンスであると推定しますか?その場合は、eventListenerをcontentLoaderInfoプロパティに追加する必要があります。

urlLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); 
+0

URLLoaderはLoaderクラスから継承しません。EventDispatcherから継承します。 – PatrickS

+0

初期インスタンス化が表示されていないときにどのインスタンスが使用されているのかよく分かりませんが、ヒントurlLoaderから。それは言われている、いくつかのpplは、ローダーインスタンス変数を時々、urlLoaderとして名前を付ける傾向があります。 – Aesphere

+0

aesphere、そのurlLoaderはURLLoaderクラスのインスタンスで、そこにバグがあるようです... –

0

実際にload()メソッドを呼び出しているときは表示されません。それは次のようになります。

//setup 
urlLoader.addEventListener(ProgressEvent.PROGRESS, onProgress); 
urlLoader.load(new URLRequest(url)); 


//listen 
private function onProgress(e:ProgressEvent):void { 
    trace(e.bytesLoaded + ' ' + e.bytesTotal); 
} 
1

私はこの答えに後半だけど、私はそれに自分自身を実行したかのように見て、私は私が私の2セントを追加しようと思いました:あなたが表示されない

理由をPOST /アップロードの進行イベントは、アップロードのためにURLLoaderが進行状況イベントをディスパッチしない(または "bytesLoaded"プロパティを変更しない)ためです。悲しいが本当。

関連する問題