我正在尋找一種方法來保存在客戶端計算機上使用JavaScript創建的幾個文件。我希望他能夠選擇一個文件夾(類似於打開/保存文件夾對話框),然後在那裏寫入文件。這顯然需要三件事:Java applet可以通過JavaScript交互打開「選擇目錄」並寫入文件系統嗎?
- 能夠彈出這樣的對話框。
- 在客戶端計算機上寫入的能力(簽名小程序?)
- 某些與JavaScript交互的方式,因爲它知道要寫入的文件名和內容。
這是可能的還是應該停止做夢?
我正在尋找一種方法來保存在客戶端計算機上使用JavaScript創建的幾個文件。我希望他能夠選擇一個文件夾(類似於打開/保存文件夾對話框),然後在那裏寫入文件。這顯然需要三件事:Java applet可以通過JavaScript交互打開「選擇目錄」並寫入文件系統嗎?
這是可能的還是應該停止做夢?
這肯定是可能的。
一種方法是使用簽名的applet,但如果您的用戶願意升級到Java 1.6.0_10 +,則不需要簽名的applet。自1.6.0_10(下一代Java插件)以來,JNLP API服務可用於嵌入式小程序。這是一個demo. of the JNLP file services。
我看到其他回覆已經覆蓋了applet/JS的交互。
這是可能的一個簽名的小程序。
我可能會這樣做,讓JavaScript代碼將所有數據傳遞給小程序,小程序應該打開FileDialog
並寫入文件。
從Java調用JavaScript可以通過實現,從Javascript調用Java解釋here
呼籲添加鏈接。 – 2011-01-31 21:12:34
如果您的applet已簽名,您可以在常規應用程序中完成您所能做的一切。您可以打開「文件對話框」,但它將是Java的對話框,與用戶按標籤<intput type"file"/>
的「瀏覽」按鈕時打開的對話框不同。很明顯,已簽名的applet可以執行用戶磁盤的讀寫操作。
所有小程序(無論是有符號還是無符號)都可以使用JSObject
調用javascript。您只需將MAYSCRIPT =「true」表示爲applet標記。
我認爲你無法打開瀏覽器的「文件打開」對話框。其實你甚至不能用普通的javascript打開它。 (我很高興知道我在這一點上是錯誤的,但我花了一些時間試圖做到這一點,並失敗了)。
很高興知道這是另一種方式。 – biziclop 2011-01-31 19:04:57
我可以在沒有先下載它們的情況下運行這些瀏覽器(Chrome)嗎? – Tower 2011-02-04 19:53:54