我有一个我在GWT中创建的BIRT报告,我想将其保存到服务器然后再打开它。我觉得硬编码网址是错误的路线(即C:/files/foo/foo.html),但我没有太多的运气想出另一种方法。我尝试使用GWT.getModuleBaseForStaticFiles(),但如果我使用它,我在BIRT中得到一个不满意的链接错误。我可以用什么来保存/打开文件,这被认为是最佳做法?谢谢。
编辑:错误的措辞,BIRT报告是在服务器端生成的。我希望能够将它保存在服务器端,然后在新的浏览器窗口中打开它(使用window.open我想象?)。没有从客户端上传任何内容。
答案 0 :(得分:1)
如果您的BIRT报告是静态文件(在应用程序运行时期间未生成)您可以创建一个简单的Servlet来读取文件并将数据复制到响应的OutputStream
。如果它是在运行时生成的,则客户端将向服务器请求它,服务器将生成它并返回报告的URL位置。客户端可以使用该URL打开报告。
如果您的BIRT位于foo / foo.bar下,您可以将servlet映射为/ foo / *。映射后,用户将请求URL www.yourselver.com/foo/foo.bar
doGet
方法的servlet可以读取文件并将内容流回客户端。