看,我正在开发一个通过http请求从服务器下载文件的Web应用程序,但是如果文件不在服务器中但在applet本身,我的意思是,一些二进制内容是在内部动态生成的小程序,必须下载。当然我可以使用java库将文件保存在客户端文件系统中(如果applet是签名的),但我想知道是否可以将java OutputStream连接到浏览器的下载窗口,换句话说,从applet开始下载。 我是个疯子吗?
顺便说一下,是否可以通过javascript做类似的事情?答案 0 :(得分:1)
不,通过将applet的输出附加到浏览器的标准文件下载机制,无法绕过安全性。
OTOH,自下一代Java插件以来,为了将文件(/字节)保存到本地文件系统,不再需要签名和受信任的applet。追踪Applet info. page中的链接以获取更多详细信息。进行演示。使用JNLP API服务(插件2为此功能挂钩)请参阅File service demo.。
答案 1 :(得分:1)
你可以,例如您将文件上传到服务器,然后强制浏览器(通过LiveConnect或其他方式)从服务器打开该文件。
据我所知,没有跨浏览器方式来模拟applet中的下载。所以你应该自己创建下载,让浏览器做它最擅长的事情。
显然,将流的实际创建移动到服务器端可能是有意义的。