如何在Flash Builder中上传文件以激发事件.完成事件



文件上传正确,我的ProgressEvent.Progress方法显示100%完成,但我的Event.complete方法未启动。我必须从服务器发回一些特定的东西吗?我只是在传递一个成功的信息。我没有犯任何错误。

我想当进度法达到100%时我就可以继续了。Event.Complete方法不应该在发送数据并从服务器接收到响应后启动吗?

**更新:我的Event.Complete方法出现错误。。。。

类型错误:错误#1034:类型强制失败:无法转换闪存。事件::Event@1277971f1至flash.events.DataEvent.

*我通过将onLoadComplete(event:DataEvent)方法更改为onLoadComplete(event:event)来解决问题。错误消失了,我的方法现在被解雇了。当系统允许时,我会回答我自己的问题。

相关代码如下:

fileRef = new FileReference();  
fileRef.addEventListener(Event.SELECT, onFileSelected);
fileRef.addEventListener(Event.COMPLETE, onUploadComplete);
fileRef.addEventListener(ProgressEvent.PROGRESS,onUploadProgress);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, onUploadError);
fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onUploadError);
private function onUploadProgress(event:ProgressEvent):void {
    status = ((event.bytesLoaded * 100) / event.bytesTotal).toString(); 
}
private function onUploadComplete(event:DataEvent): void {
    status = "Complete";
}
private function onUploadError(event:Event):void {
    if (event is IOErrorEvent) {
        Alert.show((event as IOErrorEvent).text.toString());
    } else if (event is SecurityErrorEvent) {
        Alert.show((event as SecurityErrorEvent).text.toString()); 
    } else {
        status = "Unknown error";
    }
}

我更改了。。。

private function onUploadComplete(event:DataEvent):void {
    status = "Complete: "+event.toString();
}

收件人。。。

private function onUploadComplete(event:Event):void {
    status = "Complete: "+event.toString();
}

我猜这是因为我不发回数据,只发回一个简单的xml块。希望这能帮助其他人。

相关内容

  • 没有找到相关文章

最新更新