我有点像一个弹性菜鸟,但我无法在任何地方找到这个问题,或者是一个正确的解决方法。我已经习惯了GET / POST和网络互动,但是我很擅长使用mxml等。见下面的功能。
private function uploadFileSelect(event:Event):void
{
var uploadURL:String = Application.application.parameters.UploadURL;
var urlStr:String = ExternalInterface.call('window.location.href.toString');
var queryMap:Object = getQueryParams(urlStr);
var request:URLRequest = new URLRequest(uploadURL);
var urlVars:URLVariables = new URLVariables();
urlVars.appid = queryMap.appid;
urlVars.str = queryMap.str;
request.method = "POST";
request.data = urlVars;
uploadFileRef.upload(request);
}
基本上,这完全符合我的需要,但有一个例外。对.upload的最终调用是异步的,所以我留在当前页面上,但它在后台调用上传URL。我希望它像表单一样,实际上使用POST数据导航到上传URL。我觉得这应该是一个简单的解决方案,但我有点抛弃其他人的flash代码并需要一些建议。
提前致谢!
答案 0 :(得分:0)
因为它是异步的,所以无法像在Html表单中那样从UI实现重定向。作为一种解决方法,您可以将监听器添加到uploadFileRef
uploadURL = "someurl";
uploadFileRef.addEventListener(Event.complete, function(e:Event){
navigateToURL(new URLRequest(uploadURL),'_self')
});
导航网址会将您带到目标网址。我不知道你将如何获得uploadURL,我假设它是你上传文件的网址。