In loadercomplete function, do you want
rawBytes.writeObject( loader.data );
Or do you want
rawBytes.readObject( loader.data );
--- In [email protected], Stephen More <stephen.m...@...> wrote:
>
> I would think that I could load a swf using either URLLoader or
> URLStream. As it turns out only my URLStream is returning the correct
> data.
> Can anyone provide a fix to the following code that makes URLLoader
> work correctly ?
>
> import flash.net.URLLoader;
> import flash.net.URLLoaderDataFormat;
> import flash.net.URLRequest;
> import flash.net.URLStream;
>
> private var loader:URLLoader;
> private var stream:URLStream;
>
> private function init():void
> {
> loader = new URLLoader();
> loader.dataFormat = URLLoaderDataFormat.BINARY;
> loader.addEventListener(Event.COMPLETE, loaderComplete);
> loader.load( new URLRequest( "Slide1.swf" ) );
>
> stream = new URLStream();
> stream.addEventListener(Event.COMPLETE, streamComplete);
> stream.load( new URLRequest( "Slide1.swf" ) );
>
> }
>
> private function streamComplete(event:Event):void {
>
> var rawBytes:ByteArray = new ByteArray();
> stream.readBytes( rawBytes, rawBytes.length );
> trace( "Length: " + rawBytes.length );
>
> dumpData( rawBytes );
> }
>
> private function loaderComplete(event:Event):void {
>
> var rawBytes:ByteArray = new ByteArray();
> rawBytes.writeObject( loader.data );
> trace( "Length: " + rawBytes.length );
>
> dumpData( rawBytes );
> }
>
> private function dumpData( ba:ByteArray )
> {
> ba.position = 0;
> var index:int = 0;
> var tracer:int;
> while( ba.position < 5)
> {
> tracer = ba.readByte();
> trace( index + ": " + tracer.toString(16));
> index = index + 1;
> }
> }
>