2011-02-28 87 views
3

有什么办法可以在客户端用gwt实现写/读文件吗? 我尝试使用java.io.File,java.io.Writer ...我无法成功。如何在客户端使用GWT将文本写入文件?

thx提前!

更新:请看到我自己answer一个解决方案

+0

如果您的意思是您希望您的服务器端应用程序写入客户端磁盘,答案是“您不能”。这将是一个主要的安全问题。 – 2011-02-28 21:56:22

回答

3

最近,我偶然发现了一个名为client-io的图书馆。

一个简单的库,通过GWT将Flash File API带入常规Web应用程序 。 ClientIO将帮助您将文件生成功能 的部分功能卸载到客户端,从而节省资源并将重复的计算运算到服务器。工作演示 - http://ahome-it.github.io/ahome-client-io/

+0

下载按钮不起作用,似乎没有其他代码,而不是Hello World – Steven 2017-07-11 09:43:37

9

不,你不能写在客户端文件。 GWT只绑定Java语言的一个子集。任何文件IO都需要通过RPC或某种Web服务在服务器端发生。

0

在GWT在客户端文件夹中的类仅编译成JavaScript因此它不可能使用

java.io

因为GWT不提供包的汇编

java.io

因此,您必须通过RPC编写文本文件。

5

在一些现代浏览器中,使用HTML5也是可能的。尝试lib-gwt-file。该库可以从客户端计算机读取文件,甚至支持DND。要在行动中看到它,请按照this link。 关于HTML5 FileAPI的更多信息,你可以在specification找到。

要从浏览器内存下载文件到客户端计算机,您可以使用Data URI。示例是here。但此功能仅受Google Chrome支持。另外请看下面的有用功能。它运行下载无需重新加载当前页面:

​​

另一半跨浏览器的方式是Downloadify。它基于闪存。检查这example

相关问题