Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 什么';s在FileReference类中使用loadBtyes()_Actionscript 3_Flash_Apache Flex - Fatal编程技术网

Actionscript 3 什么';s在FileReference类中使用loadBtyes()

Actionscript 3 什么';s在FileReference类中使用loadBtyes(),actionscript-3,flash,apache-flex,Actionscript 3,Flash,Apache Flex,我需要在AS3.0中使用FileReference类的功能。然而,我不明白有一部分需要使用ByteArray。据我所知,FileReference只需要选定的文件,它应该自动存储数据。但是按照下面的过程,再次需要执行第二步,其中fileReference数据被分配给ByteArray类型的变量,并再次加载。第二步需要做什么。为什么数据不存储在单个步骤中 private function fileReference_SELECT(e:Event):void {

我需要在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);
            }

第一步只是将原始字节从文件加载到内存中。第二步读取/解析/转换这些字节为
位图
声音
MovieClip
或文件中包含的任何内容。

但是,为什么FileReference类不自动执行此操作?他们是否有不需要第二步的地方?(我认为,第二步总是很重要的)。实际上,这段代码中有一些奇怪的地方。FileReference会自动执行此操作,如行
var rawBytes:ByteArray=fileRef\u Fr.data中所示。在这之后,它看起来更像是
urloader
用法的剩余部分。我认为它不应该在那里。