Apache flex as3到.net,未接收事件。完成回调

Apache flex as3到.net,未接收事件。完成回调,apache-flex,flash,actionscript-3,Apache Flex,Flash,Actionscript 3,我为我正在使用的应用程序创建了一个图像上传程序。我首先使用php编写服务器端脚本,一切都很好。后来我发现我不得不使用.net,所以我创建了新的服务器端脚本。我遇到的问题是我的event.COMPLETE侦听器从未启动。我可以使用DATAEVENT侦听器接收回数据,但它会在以下错误处停止: Error #2044: Unhandled IOErrorEvent:. text=Error #2036: Load Never Completed. 以下是我发送文件的方式 var fileRefReq

我为我正在使用的应用程序创建了一个图像上传程序。我首先使用php编写服务器端脚本,一切都很好。后来我发现我不得不使用.net,所以我创建了新的服务器端脚本。我遇到的问题是我的event.COMPLETE侦听器从未启动。我可以使用DATAEVENT侦听器接收回数据,但它会在以下错误处停止:

Error #2044: Unhandled IOErrorEvent:. text=Error #2036: Load Never Completed.
以下是我发送文件的方式

var fileRefReq:URLRequest = new URLRequest(FILE_UPLOAD_TEMP);
                var fileReqVars:URLVariables = new URLVariables();
                fileReqVars.subdir = "Temp";
                fileRefReq.data = fileReqVars;
                fileRefReq.method = URLRequestMethod.POST;
                fileRef.upload(fileRefReq);
该文件肯定会被上传到第一个临时目录,但随后由于上述错误而中断


有没有其他人有过类似的问题,或者为我指出了解决这个问题的正确方向

这是Flash产生的错误。最常见的原因是:

  • 这可能是一个404错误,你正在得到某处闪光

  • 如果在浏览器加载内容时关闭浏览器,则可能发生此错误

  • 默认情况下,调用SWF文件和加载的URL必须位于同一域中。例如,www.adobe.com上的SWF文件只能从www.adobe.com上的源加载数据。要从其他域加载数据,请在承载数据的服务器上放置URL策略文件

  • 第三点很重要,因为Flash的一个常见用户问题是安全问题,所以这只是一个需要排除的问题。很可能不是这里的原因

    我将测试这3个原因,并仔细阅读URL请求:

    经过一些额外的思考,我认为这是超时,但这只是一个理论。添加事件侦听器,如下所示:

    urlLoader.addEventListener("httpResponseStatus", function(event:HTTPStatusEvent):void
    

    查看实际发生的情况。

    您必须处理以下事件:

    // add the event listener
    urlLoader.addEventListener( IOErrorEvent.IO_ERROR, onErrorHandler );
    
    // handle the error event like this:
    private function onErrorHandler( e: IOErrorEvent ): void {
     trace( "An io error occurred." );
    }
    

    希望这有帮助

    如果通过网络加载文件,问题3也会是一个问题吗?还有,为什么它会上传文件,但如果这是一个问题,它仍然会给我一个错误?我发现文件上传正确,完成时调用了dataevent,但出于某种原因,它仍然告诉我上传失败。所以一切都正常,我得到了回应,但还是有错误。