0

我正在尝试将图像从我的电脑加载到 flash as3 中。文件浏览工作正常,但它永远不会触发完成事件这里是代码

btneditimage.addEventListener(MouseEvent.CLICK, btneditimage_click);
var fileRef:FileReference = new FileReference();
函数 btneditimage_click(evt:MouseEvent)
{
var imageTypes:FileFilter = new FileFilter("图像 (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
var allTypes:Array = new Array(imageTypes);
fileRef.browse(所有类型)

fileRef.addEventListener(Event.COMPLETE, image_loadComplete);

}

功能图像加载完成(事件:事件):无效
{

    trace("好吧,我被解雇了");


    }
4

2 回答 2

2

浏览文件后,您必须调用load()然后解析加载的内容。

...
fileRef.addEventListener(Event.SELECT,selected);
fileRef.browse(allTypes);
function selected(e:Event):void {
    var fr:FileReference=e.target as FileReference;
    if (!fr) return;
    fr.removeEventListener(Event.SELECT,selected);
    fr.addEventListener(Event.COMPLETE,image_loadComplete);
    fr.load();
}
于 2013-09-06T10:44:52.610 回答
1

当您调用 .browse 方法时,您将获得 Event.SELECT 或 Event.CANCEL。之后,您必须通过他的 FileReference 加载()文件。只有在那之后,你才会得到 Event.COMPLETE。

于 2013-09-06T13:34:49.597 回答