如何使用GWT在服务器上保存/打开文件

时间:2013-08-09 19:24:01

标签: java eclipse gwt birt

我有一个我在GWT中创建的BIRT报告,我想将其保存到服务器然后再打开它。我觉得硬编码网址是错误的路线(即C:/files/foo/foo.html),但我没有太多的运气想出另一种方法。我尝试使用GWT.getModuleBaseForStaticFiles(),但如果我使用它,我在BIRT中得到一个不满意的链接错误。我可以用什么来保存/打开文件,这被认为是最佳做法?谢谢。

编辑:错误的措辞,BIRT报告是在服务器端生成的。我希望能够将它保存在服务器端,然后在新的浏览器窗口中打开它(使用window.open我想象?)。没有从客户端上传任何内容。

1 个答案:

答案 0 :(得分:1)

如果您的BIRT报告是静态文件(在应用程序运行时期间未生成)您可以创建一个简单的Servlet来读取文件并将数据复制到响应的OutputStream。如果它是在运行时生成的,则客户端将向服务器请求它,服务器将生成它并返回报告的URL位置。客户端可以使用该URL打开报告。

实施例

如果您的BIRT位于foo / foo.bar下,您可以将servlet映射为/ foo / *。映射后,用户将请求URL www.yourselver.com/foo/foo.bar doGet方法的servlet可以读取文件并将内容流回客户端。