Flex アプリケーション用に HTTP 経由でバイナリ データを取得しようとしていましたが、いくつかのつまずきがありました。HTTPService はバイナリ データをうまく処理していないようで、人々は URLLoader を使用すると言っていました。しかし、URLLoader には、HTTPService が提供する優れた AsyncToken/IResponder インターフェースがありません。
そのため、検索を行ったところ、URLLoader を拡張してこの種の機能を提供する人は見つかりませんでした。私は先に進み、自分で刺しました: http://pastebin.com/d7369d0e0
基本的に、URLLoader と AsyncToken をラップし、URLLoader からの COMPLETE、IO_ERROR、および SECURITY_ERROR イベントを、AsyncToken で発生する結果/障害にマップします。
基本的な使い方:
var tidbitLoader:AsyncURLLoader = new AsyncURLLoader();
tidbitLoader.dataFormat = URLLoaderDataFormat.BINARY;
var asyncToken:AsyncToken = tidbitLoader.load(new URLRequest("http://localhost/SampleTidbit.swf"));
asyncToken.addResponder(this);
public function result(resultEvent:Object):void
{
trace("result");
}
public function fault(faultEvent:Object):void
{
var fault:FaultEvent = faultEvent as FaultEvent;
trace("fault: " + fault.toString());
}
これは問題にアプローチする正しい方法ですか?既存のソリューションはありますか? フィードバックをお待ちしております。
ありがとう、
カーシック