DataEvent.UPLOAD_COMPLETE_DATA无法触发的麻烦

时间:2011-07-20 03:10:53

标签: actionscript-3

我在使用AS3脚本通过PHP将数据上传到服务器时出现问题,然后从PHP上传脚本返回一些值。我正在使用FileReference.upload()函数,并且文件正在成功上传,但我附加到DataEvent.UPLOAD_COMPLETE_DATA事件的eventListener没有触发。当文件上传完成后,我可以在PHP端做些事情来手动触发此事件吗?

AS3:

private function onFileLoaded(event:Event):void {
            //var _fileReference:FileReference = event.target as FileReference;
            //var data:ByteArray = fileReference["data"];
            //var filename:String = fileReference.name;
            var urlRequest:URLRequest = new URLRequest("http://www.arttoframes.com/canvasSystems/uploadImage.php");
                urlRequest.method = URLRequestMethod.POST;                  
            fileReference.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete);
            fileReference.upload(urlRequest);
        }
        private function onFileLoadError(event:Event):void  {
            fileReference.removeEventListener(Event.COMPLETE, onFileLoaded);
            fileReference.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError); 
        } 
  private function onUploadComplete(event:Event):void {
            trace("ok");
            fileReference.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA,onUploadComplete);
            var thumbReferenceName = fileReference.name.substr(0,fileReference.name.indexOf("."))+"_thumb"+fileReference.name.substr(fileReference.name.indexOf("."),4)+"?nocache=" + new Date().getTime()
            var urlRequest:URLRequest = new URLRequest("http://www.arttoframes.com/canvasSystems/uploads/Thumbnails/"+thumbReferenceName);
            var urlLoader:Loader = new Loader ();
                urlLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onDownloadComplete);
                //urlLoader.load(urlRequest);
        }

1 个答案:

答案 0 :(得分:1)

所以这是一个长期存在的错误,Adobe声称他们已经修复了,但至少在Flex 3中,很多人声称他们可以重现它,即使在Adobe说他们已经修复它之后。这真的包括你的。

https://bugs.adobe.com/jira/browse/FP-1419

我会采用一种直接监控进度的工作,当所有这些工作都是手动上传时,或者只是在那里进行工作。您可以尝试阅读Jira中的评论。