litterbugkid
litterbugkid

Reputation: 3666

Allow user to download a file generated by Java applet using Javascript API

I have a Java applet embedded into a web page which generates a file that the user must download. I understand there is a way to do this by communicating with a Javascript API.

Could somebody please explain to me how to do it this particular way?

Upvotes: 1

Views: 827

Answers (2)

Esailija
Esailija

Reputation: 140220

Javascript doesn't allow file saving just yet, and the hacks that "work" need modern browser that understands data URI:s. In that case you would simply send the binary data as base64 and make the browser navigate to the data URI by setting document.location.href = 'data:application/octet-stream...' The download prompt would look like this in firefox:

http://img824.imageshack.us/img824/5080/octetstream.png

Flash allows for real download/save dialogs though so you could also look into that... or find out if java applets have that too.

Upvotes: 2

Andrew Thompson
Andrew Thompson

Reputation: 168825

If the user can be expected to have (or be willing to upgrade to) a Plug-In 2 architecture JRE (e.g. Sun's 1.6.0_10+)1, it is possible to launch the applet using Java Web Start. When an app. is launched using JWS, it can access the JNLP API, that offers file services that allow even sand-boxed code to save information to the local file-system.

Here is a demo of the JNLP files services.

  1. That is if the applet needs to be embedded. JWS could launch applets free-floating since it was introduced in 1.2.

Upvotes: 1

Related Questions