2011-01-31 28 views
1

我正在尋找一種方法來保存在客戶端計算機上使用JavaScript創建的幾個文件。我希望他能夠選擇一個文件夾(類似於打開/保存文件夾對話框),然後在那裏寫入文件。這顯然需要三件事:Java applet可以通過JavaScript交互打開「選擇目錄」並寫入文件系統嗎?

  • 能夠彈出這樣的對話框。
  • 在客戶端計算機上寫入的能力(簽名小程序?)
  • 某些與JavaScript交互的方式,因爲它知道要寫入的文件名和內容。

這是可能的還是應該停止做夢?

回答

3

這肯定是可能的。

一種方法是使用簽名的applet,但如果您的用戶願意升級到Java 1.6.0_10 +,則不需要簽名的applet。自1.6.0_10(下一代Java插件)以來,JNLP API服務可用於嵌入式小程序。這是一個demo. of the JNLP file services

我看到其他回覆已經覆蓋了applet/JS的交互。

+0

很高興知道這是另一種方式。 – biziclop 2011-01-31 19:04:57

+0

我可以在沒有先下載它們的情況下運行這些瀏覽器(Chrome)嗎? – Tower 2011-02-04 19:53:54

3

這是可能的一個簽名的小程序。

我可能會這樣做,讓JavaScript代碼將所有數據傳遞給小程序,小程序應該打開FileDialog並寫入文件。

從Java調用JavaScript可以通過​​實現,從Javascript調用Java解釋here

+0

呼籲添加鏈接。 – 2011-01-31 21:12:34

1

如果您的applet已簽名,您可以在常規應用程序中完成您所能做的一切。您可以打開「文件對話框」,但它將是Java的對話框,與用戶按標籤<intput type"file"/>的「瀏覽」按鈕時打開的對話框不同。很明顯,已簽名的applet可以執行用戶磁盤的讀寫操作。

所有小程序(無論是有符號還是無符號)都可以使用JSObject調用javascript。您只需將MAYSCRIPT =「true」表示爲applet標記。

我認爲你無法打開瀏覽器的「文件打開」對話框。其實你甚至不能用普通的javascript打開它。 (我很高興知道我在這一點上是錯誤的,但我花了一些時間試圖做到這一點,並失敗了)。

相關問題