簡體   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