flex FileReference加载完成事件永远不会被触发

时间:2013-07-05 16:11:59

标签: flex filereference

我有一张图片,将由flash上​​传两次。此外,我会做一些调整大小&压缩的东西。所以我必须加载数据并创建一个BitmapData对象。

    _fileRef.addEventListener(Event.Complete, onLoadComplete);
    _fileRef.load();

问题是永远不会触发完整事件,可以从控制台中的日志消息中检查。这种事件未能被触发的可能性有多大?

我的真实代码如下所示:

    private function prepareImage():void    
    {
        _compressionFactor = 82;

        if(as3_jpeg_wrapper==null)
        {
            as3_jpeg_wrapper = clibinit.init();
        }
        _fileRef.addEventListener(Event.COMPLETE, onImageComplete);
        _fileRef.load();
    }

    private var tempLoader:Loader;
    private var tempData:ByteArray;

    private function onImageComplete(event:Event):void
    {
        Utils.log("loading data completed");
        tempData = event.currentTarget.data;
        _fileRef.removeEventListener(Event.COMPLETE,onImageComplete);
        tempLoader =  new Loader;
        tempLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImageLoaded);
        tempLoader.loadBytes(tempData);
    }

事实是永远不会打印“加载数据已完成”的日志消息。我跟踪了整个过程,闪光灯停留在这里。函数prepareImage通过以下方式调用:

            Utils.log("We'll resize & compress the picture to be uploaded");
            prepareImage();

0 个答案:

没有答案