繁体   English   中英

Java Applet-使用浏览器下载文件

[英]Java Applet - Download File with Browser

我正在尝试使用Java Applet创建一个新文件,但是我不知道如何将该文件发送到浏览器的响应输出,例如任何典型的网页。

使用Servlet,使用javax.servlet.http.HttpServletResponse很容易,但是使用applet可以吗?

我正在尝试不签署小程序或使用任何servlet的情况。

不要为此使用小程序。 使用Servlet。

为什么要在小程序内执行此操作? 如果不签名,它将永远无法将任何内容写入磁盘,并且它只能通过某些Javascript API与浏览器通信,而不能直接发送文件。 您可以将applet中的功能与Servlet完美结合,并将浏览器定向到任何相关页面:

AppletContext a = getAppletContext();
URL url = new URL(link_to_your_servlet);
a.showDocument(url,"_blank");

这将在浏览器中打开一个新窗口,并下载文件。

小程序基本上只是一个放在Web服务器上的JAR文件,然后添加JNLP描述,以便浏览器知道该怎么做。 可以将其视为复杂的HTML页面,因为它不会进入WEB-INF,而是会进入浏览器的其他文件(HTML,外部JavaScript,图像,CSS等)。

Oracle的本文介绍了这些步骤。

小程序可以从其来源的Web服务器请求资源,例如图像Applet.getImage()或获取其他文件,如下所示:

URL url = new URL("myfile.txt");
URLConnection uc = url.openConnection();
InputStream in = new BufferedInputStream(uc.getInputStream());

int d;
while ((c = in.read()) != -1) {
  // do something with d (remember to cast to byte!)
}

您可能想要或不希望使用LiveConnect修改当前页面的DOM。 这取决于您生成的内容。 通常,您希望在服务器上生成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM