1
我在使用AS3脚本将数据上传到服务器时遇到了一些麻烦,然后从PHP上传脚本中返回一些值。我正在使用FileReference.upload()函数,并且文件正在成功上载,但附加到DataEvent.UPLOAD_COMPLETE_DATA事件的eventListener未触发。当文件完成上传时,有什么事情可以在PHP的结尾处手动触发此事件?DataEvent.UPLOAD_COMPLETE_DATA无法解决问题
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);
}
哇,这是阻止我的项目死在它的轨道。 DataEvent.UPLOAD_COMPLETE_DATA是我从上传脚本获取URLvar数据的唯一方法。监控进度将不起作用,因为它不会返回来自PHP的数据。任何人都有运气解决这个问题? –
Jira票据中还包含其他解决方法,这些解决方案讨论可以如何获取URL数据,但是您可能必须重组您的工作方式。可能将该数据保存到会话并进行第二次调用以检索它。不是我们想如何解决这个问题,但是你可以解决这个问题。 – chubbsondubs