以下代码显示了一个按钮,该按钮允许您选择文件(应该是图像)并将其显示到图像组件中。当我选择无效图像(例如不支持的图像类型、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)"/>