Java 小程序可以打开“选择目录”吗?并通过 JavaScript 交互写入文件系统?

发布于 2024-10-14 22:01:29 字数 235 浏览 2 评论 0 原文

我正在寻找一种方法来保存在客户端计算机上使用 JavaScript 创建的几个文件。我希望他能够选择一个文件夹(类似于打开/保存文件夹对话框),然后在那里写入文件。这显然需要三件事:

  • 能​​够弹出这样的对话框。
  • 能够在客户端计算机上写入(签名的小程序?)
  • 某种与 JavaScript 交互的方式,因为它知道要写入的文件名和内容。

这是可能的还是我应该停止梦想?

I am looking for a way to save a couple of files created with JavaScript on the clients computer. I want him to be able to choose a folder (similar to open/save folder dialog), and then write the files there. This obviously requires three things:

  • Ability to popup such a dialog.
  • Ability to write on the client's computer (signed applets?)
  • Some way to interact with JavaScript because it knows the filenames and contents to write.

Is this possible or should I just stop dreaming?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

鸢与 2024-10-21 22:01:29

这当然是可能的。

一种方法是使用签名的小程序,但如果您的用户愿意升级到 Java 1.6.0_10+,则不需要签名的小程序。从 1.6.0_10(下一代 Java 插件)开始,JNLP API 服务可用于嵌入式小程序。这是一个 演示。 JNLP 文件服务

我看到其他回复已经涵盖了applet/JS交互。

It sure is possible.

One way is to use a signed applet, but if your users are willing to upgrade to Java 1.6.0_10+, a signed applet is not needed. Since 1.6.0_10 (the Next Generation Java Plug-In), JNLP API services are available to embedded applets. Here is a demo. of the JNLP file services.

I see the other reply has already covered the applet/JS interaction.

花心好男孩 2024-10-21 22:01:29

这可以通过签名的小程序实现。

我可能会反过来做,让 javascript 代码将所有数据传递给小程序,小程序应该打开一个 FileDialog 并写入文件。

从java调用javascript可以通过 `JSObject 来实现,调用Java 此处解释了来自 Javascript 的内容

It is possible with a signed applet.

I'd probably do it the other way around, let the javascript code pass all the data to the applet and the applet should open a FileDialog and write the file.

Calling javascript from java can be achieved via `JSObject, calling Java from Javascript is explained here

2024-10-21 22:01:29

如果您的小程序已签名,您就可以执行常规应用程序中可以执行的所有操作。您可以打开“文件对话框”,但它将是 Java 的对话框,与用户按下标签 的“浏览”按钮时打开的对话框不同。显然签名的小程序可以对用户的磁盘进行读写操作。

所有小程序(无论是签名还是未签名)都可以使用 JSObject 调用 javascript。您只需在小程序标签中输入 MAYSCRIPT="true" 即可。

我认为您无法打开浏览器的“文件打开”对话框小程序。实际上你甚至无法使用常规的 javascript 打开它。 (我很高兴知道我在这一点上错了,但我花了一些时间尝试这样做但失败了)。

If your applet is signed you can do everything that you can do in regular application. You can open "File dialog" but it will be the Java's dialog, not the same that is opened when user pushes "browse" button of tag <intput type"file"/>. Obviously signed applet can perform read and write operations with user's disk.

All applets (either signed or unsigned) may call javascript using JSObject. You just have to say MAYSCRIPT="true" into applet tag.

I think that you cannot open the browser's "file open" dialog applet. Actually you even cannot open it using regular javascript. (I'd be happy to know that I am wrong at this point but I spent some time trying to do this and failed).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文