Kann ein Java -Applet ein "Verzeichnis auswählen" öffnen und über JavaScript -Interaktion in ein Dateisystem schreiben?

StackOverflow https://stackoverflow.com/questions/4854775

Frage

Ich suche nach einer Möglichkeit, ein paar Dateien zu speichern, die mit JavaScript auf dem Client -Computer erstellt wurden. Ich möchte, dass er einen Ordner auswählen kann (ähnlich wie das Dialogfeld "Ordner" öffnen/speichern) und dann die Dateien dort schreiben. Dies erfordert offensichtlich drei Dinge:

  • Fähigkeit, einen solchen Dialog zu popupieren.
  • Fähigkeit, auf den Computer des Kunden zu schreiben (signierte Applets?)
  • Eine Möglichkeit, mit JavaScript zu interagieren, da es die Dateinamen und Inhalte kennt, die zu schreiben sind.

Ist das möglich oder sollte ich einfach aufhören zu träumen?

War es hilfreich?

Lösung

Es ist sicher möglich.

Eine Möglichkeit besteht darin, ein signiertes Applet zu verwenden. Wenn Ihre Benutzer jedoch bereit sind, auf Java 1.6.0_10+zu aktualisieren, ist kein signiertes Applet erforderlich. Seit 1.6.0_10 (das JAVA-Plug-In der nächsten Generation) stehen eingebettete Applets JNLP-API-Dienste zur Verfügung. Hier ist ein Demo. der JNLP -Dateidienste.

Ich sehe, dass die andere Antwort die Applet/JS -Interaktion bereits behandelt hat.

Andere Tipps

Mit einem signierten Applet ist es möglich.

Ich würde es wahrscheinlich umgekehrt tun, lassen Sie den JavaScript -Code alle Daten an das Applet übergeben, und das Applet sollte a öffnen FileDialog und schreiben Sie die Datei.

Das Aufrufen von JavaScript von Java kann durch erreicht werden `JSObject, Das Aufrufen von Java von JavaScript wird erklärt hier

Wenn Ihr Applet signiert ist, können Sie alles tun, was Sie in der regulären Anwendung tun können. Sie können "Dateidialog" öffnen, aber es wird der Dialogfeld des Java sein, nicht das gleiche, das geöffnet wird, wenn der Benutzer "Durchsuchen" -Taste mit dem Tag drückt <intput type"file"/>. Offensichtlich können signierte Applet Lese- und Schreiben von Operationen mit der Datenträger des Benutzers ausführen.

Alle Applets (entweder signiert oder nicht signiert) können JavaScript verwenden JSObject. Sie müssen nur in das Applet -Tag in Applet -Tag sagen.

Ich denke, dass Sie das Dialogfeld "Datei öffnen" des Browsers nicht öffnen können. Eigentlich können Sie es sogar nicht mit regulärem JavaScript öffnen. (Ich würde mich freuen zu wissen, dass ich zu diesem Zeitpunkt falsch liege, aber ich habe einige Zeit damit verbracht, dies zu tun, und scheiterte).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top