2

我需要使用 AS3.0 中的 FileReference 类的功能。但是我不明白需要使用 ByteArray 的部分。据我了解,FileReference 只需要选定的文件,它应该自动存储数据。但是根据以下过程,再次需要第二步,其中将 fileReference 数据分配给 ByteArray 类型的变量,并再次加载。这第二步需要什么。为什么数据不是一步存储的?

private function fileReference_SELECT(e:Event):void
        {
            fileRef_Fr.removeEventListener(Event.SELECT, fileRef_Fr_SELECT);
            fileRef_Fr.addEventListener(Event.COMPLETE, fileReference_COMPLETE);
            fileRef_Fr.load();

        }   


  private function fileReference_COMPLETE(e:Event):void
            {
                fileRef_Fr.removeEventListener(Event.COMPLETE, fileRef_Fr_load_COMPLETE);
                var rawBytes:ByteArray = fileRef_Fr.data;
                loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
                loader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoaderInfo_COMPLETE)
                loader.loadBytes(rawBytes);
            }
4

1 回答 1

2

第一步仅将文件中的原始字节加载到内存中。第二步将这些字节读取/解析/转换为Bitmap,或文件中包含的任何内容SoundMovieClip

于 2013-08-30T19:46:45.560 回答