0

以下代码显示了一个按钮,该按钮允许您选择文件(应该是图像)并将其显示到图像组件中。当我选择无效图像(例如不支持的图像类型、word 文档)时,我收到以下错误:

“错误 #2044:未处理的 IOErrorEvent:.text=错误 #2124:加载的文件是未知类型。”

我知道我可以将 FileFilter 传递给 FileReference:browse 调用,但这已经超出了重点。我的问题是......我想自己处理 IOErrorEvent,我错过了什么事件监听器?

private var file:FileReference = new FileReference();

private function onBrowse():void {
    file.browse(null);
    file.addEventListener(Event.SELECT, handleFileSelect);
    file.addEventListener(Event.COMPLETE, handleFileComplete);
    file.addEventListener(IOErrorEvent.IO_ERROR, handleFileIoError);
}

private function handleFileSelect(event:Event):void {
    file.load();
}

private function handleFileComplete(event:Event):void {
    myImage.source = file.data;
}

private function handleFileIoError(event:Event):void {
    Alert.show("handleFileIoError");
}

private function handleImageIoError(evt:IOErrorEvent):void {
    Alert.show("handleImageIoError");
}

<mx:Button click="onBrowse()" label="Browse"/>
<mx:Image id="myImage" width="100" height="100" ioError="handleImageIoError(event)"/>
4

1 回答 1

1

不幸的是,这是来自 Flex SDK 的错误。看看 SWFLoader,方法 loadContent。它没有针对几种情况的错误处理程序(包括您的)。该错误已在 SDK 3.4 中修复,因此进行更新可能是个好主意。

于 2010-04-22T12:15:46.223 回答