2011-10-18 58 views
1

我正在寻找关于如何从GWT应用程序的服务器端发送文件的特定代码,以便客户端用户可以将其保存在他的机器上。目前,该应用程序允许用户上传文件,读取文件并将文件中的某些值放入可编辑的文本框中。当用户点击“另存为”按钮时,它收集所编辑的数据,将其放回到文件字符串中,并将该字符串发送到服务器,在那里我希望它被放入一个文件并推回给用户客户端,以便他们可以将其保存到他们的机器。我到底该如何完成?如何使用GWT RPC在客户端保存文件?

对不起,如果这看起来像一个明显的事情,但我相对较新的GWT和Java一般。谢谢!

回答

1

我认为你需要使用GWT从服务器使用内容类型下载文件的方式。

,我发现最简单的方法是创建一个的iFrame:

import com.google.gwt.user.client.ui.NamedFramerdddccvc 

... 
NamedFrame iframe = new NamedFrame(frameName);   
iframe.setVisible(false); 

parent.addChild(iframe); 
iframe.setUrl(url); 

从服务器的URL返回一个页面,内容类型“文本/纯”或使用要求的有效是很重要的。

0

你可以做的是创建一个servlet,它生成文本作为内容并为内容设置匹配的mimetype。在你的应用程序中,你可以通过费尔南多建议的IFrame方法来调用这个servlet。

关于如何做到这一点,Stackoverflow上有很多建议。搜索[java] file download serlvet,你会发现很多关于如何做到这一点的例子/指南。