我正在构建一个Flex和PHP应用程序,我在其中为用户提供了一个Save results选项,该选项将调用生成结果文件的php服务。然后我有FileReference.download(url)函数和生成的文件的url。这里的问题是在文件甚至在服务器中生成之前保存的弹出窗口。因此,用户将获得不完整的文件,因为文件生成至少需要10-15秒。
printToFile.token = customerTyped.printToFile(customerArray,displayno);
var filepath:String= "http://localhost/"+displayno+".txt";
var request:URLRequest = new URLRequest(filepath);
var fileRef:FileReference = new FileReference();
fileRef.download(request);**
我认为函数(服务)调用PHP函数customerTyped.printToFile(customerArray,displayno); 不等待它返回并继续异步执行下一个语句。
如何使下载对话框等待弹出直到printToFile php函数完成。?
答案 0 :(得分:3)
您需要第二个PHP函数来告诉您文件是否准备就绪。
另一种解决方案是使用普通URLRequest
,调用printToFile
PHP函数,然后收听COMPLETE
事件 - 该事件应该告诉您何时生成文件。