我们有一个应用程序,具有以下特点-
a)灵活前端。
B)Spring、BlazeDS和tomcat后端
c)Flex UI使用AMF/xmlrpc与后端服务器通信
d)Mate框架用于Flex前端
我需要在Flex UI上生成报告,并能够以PDF和MS-Excel格式导出这些报告。
Flex UI〉报告〉导出为PDF〉AMF调用后端〉AMF响应前端下载PDF文件(在服务器上动态生成)。
通常使用struts/Tomcat提供动态html内容,我可以很容易地实现这一点,作为一个动作类,它将PDF文件内容作为响应(设置适当的mime类型等),这很容易由浏览器处理,它会弹出“保存文件”对话框。
是否可以将其与Flex AMF/BlazeDS请求/响应一起使用?或者是否只能通过在Flex端使用HTTPService(如以下URL中所示)来实现?
http://forums.adobe.com/thread/582595?decorator=print&displayFullThread=true
将byte[]本身作为AMF响应发送通常会导致整个byte[]存储在Flex UI(浏览器)的内存中,然后才能提示将其保存在客户端计算机上,对吗?同样,在这种方法中,整个文档内容需要在返回之前放入byte[]中。
任何人都可以分享他们的经验,关于什么是最好的设计处理文件流到Flex UI从BlazeDS/Spring后端?
1条答案
按热度按时间vyswwuz21#
让调用返回一个指向生成的PDF的URL,并在一个新的浏览器窗口中打开它。基本上把下载过程交给浏览器。
或者使用URL传递到FileReference对象,并使用该对象进行下载。