如何使用GWT RPC在客户端保存文件?

时间:2011-10-18 17:27:11

标签: java gwt file-io client-server

我正在寻找有关如何从GWT应用程序的服务器端发送文件的特定代码,以便客户端用户可以将其保存在他的机器上。目前,该应用程序允许用户上传文件,读取文件,并将文件中的某些值放入可编辑的文本框中。当用户点击“另存为”按钮时,它会收集已编辑的数据,将其放回文件字符串,然后将该字符串发送到服务器,我希望将其放入文件并推送回用户客户端,以便他们可以将其保存到他们的机器上。我究竟该如何实现?

很抱歉,如果这看起来很明显,但我对GWT和java相对较新。谢谢!

2 个答案:

答案 0 :(得分: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返回内容类型为“text / plain”的页面或使用有效请求的页面非常重要。

答案 1 :(得分:0)

您可以做的是创建一个servlet,它将文本生成为内容并设置内容的匹配mimetype。在您的应用程序中,您可以通过Fernando建议的IFrame方法调用此servlet。

Stackoverflow上有很多关于如何做的建议。搜索[java] file download serlvet,您会找到很多关于如何执行此操作的示例/指南。