我正在寻找一种方法来保存在客户端计算机上使用 JavaScript 创建的几个文件。我希望他能够选择一个文件夹(类似于打开/保存文件夹对话框),然后在那里写入文件。这显然需要三件事:
- 能够弹出这样的对话框。
- 能够在客户的计算机上书写(签名的小程序?)
- 与 JavaScript 交互的某种方式,因为它知道要写入的文件名和内容。
这是可能的还是我应该停止做梦?
我正在寻找一种方法来保存在客户端计算机上使用 JavaScript 创建的几个文件。我希望他能够选择一个文件夹(类似于打开/保存文件夹对话框),然后在那里写入文件。这显然需要三件事:
这是可能的还是我应该停止做梦?
使用签名的小程序是可能的。
我可能会反过来做,让javascript代码将所有数据传递给applet,applet应该打开aFileDialog
并写入文件。
从 java 调用 javascript 可以通过`JSObject来实现,这里解释了从 Javascript 调用 Java
这当然是可能的。
一种方法是使用签名的小程序,但如果您的用户愿意升级到 Java 1.6.0_10+,则不需要签名的小程序。从 1.6.0_10(下一代 Java 插件)开始,JNLP API 服务可用于嵌入式小程序。这是一个演示。的 JNLP 文件服务。
我看到另一个回复已经涵盖了applet/JS交互。
如果您的小程序已签名,则您可以执行常规应用程序中可以执行的所有操作。您可以打开“文件对话框”,但它将是 Java 的对话框,与用户按下标签的“浏览”按钮时打开的对话框不同<intput type"file"/>
。显然签名的小程序可以对用户的磁盘进行读写操作。
所有小程序(签名或未签名)都可以使用JSObject
. 您只需在 applet 标签中输入 MAYSCRIPT="true"。
我认为您无法打开浏览器的“文件打开”对话框小程序。实际上,您甚至无法使用常规 javascript 打开它。(我很高兴知道我在这一点上错了,但我花了一些时间试图做到这一点但失败了)。