我希望用户按下excel按钮并提示您下载excel文件。我通常这样做:
var dest:String = excelEndpoint;
var request:URLRequest = new URLRequest();
request.url = dest;
fr.download( request,'Locates.xls' );
fr.addEventListener(HTTPStatusEvent.HTTP_STATUS, handleStatus);
fr.addEventListener(IOErrorEvent.IO_ERROR, handleErr);
但是,现在我需要将一个对象传递给servlet。看到您无法通过URLRequest执行此操作,我尝试使用HTTPService:
var service:HTTPService = new HTTPService();
service.url = excelEndpoint;
service.method = "POST";
service.showBusyCursor = true;
service.addEventListener("result", httpResult);
service.addEventListener("fault", httpFault);
service.send( myObject);
现在我可以成功地将我的数据(myObject)提供给servlet,但是我没有得到提示下载。
我该怎么做?甚至可以使用HTTPService吗?
感谢任何有用的提示。
答案 0 :(得分:0)
我认为您无法通过Flash Player远程请求提示用户下载内容。我过去这样做的方式有两个方面:
当Flex应用获取结果(URL)时,它会创建一个URL请求并在新窗口中弹出它,提示用户下载生成的Excel工作表。
我没有看到一次拍摄的方法;因为Flex HTTPService调用的返回值转到Flash Player,而不是浏览器。
答案 1 :(得分:0)
解决:
我希望通过1次远程调用来完成此操作,并且在传递包含集合的对象时我发现这样做的方式是:
var uv:URLVariables = new URLVariables();
uv.typesColl = myObj.types.toString();
uv.partiesColl = myObj.parties.toString();
uv.statuses = myObj.statuses.toString();
基本上,在URLVariables对象上为每个集合创建一个属性,然后将所有集合设置为toString();
希望能有所帮助。