2010-10-26 92 views
8

使用GWT客户端下载PDF文件的最佳方式是什么?我应该调用一个普通的servlet来做到这一点吗?还是有不同的首选方法来处理这个问题?如何使用GWT客户端下载文件?

我是GWT新手,所以如果一些示例代码会有很大的帮助。

感谢 深

回答

4

用GET尝试...

Window.open(GWT.getHostPageBaseURL() + "FileRepository/doDownload?docId=" + dokument.getId(), "", ""); 
+0

感谢。使用此方法,我可以访问任何不在WAR根目录中的文件吗? – 2010-10-26 11:16:34

+0

是的,我们的PDF不在战争根目录中。 – cupakob 2010-10-26 17:15:29

0

最好的办法是到浏览器导航到该文件

上下载按钮添加单击处理程序:

Button downloadButton = new Button("Download"); 
downloadButton.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick(ClickEvent event) { 
     Window.open("url_of_file", "download File", "");    
    } 
}); 
1

你可以实现一个Servlet下载文件或者你可以做t帽子使用Data URIs

  1. 使您的GWT RPC方法返回文件内容或数据以生成文件。
  2. 在客户端,用收到的文件内容格式化一个Data URI或生成数据内容。
  3. 使用Window.open打开一个文件保存对话框,通过格式化的DataURI

看看这个参考,了解Data URI用法:

Export to csv in jQuery