【问题标题】:Flex: FileReference and Image unhandled IOErrorEventFlex:FileReference 和 Image 未处理的 IOErrorEvent
【发布时间】:2010-04-21 23:10:45
【问题描述】:

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

【问题讨论】:

    标签: apache-flex image filereference ioerror


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多