簡體   English   中英

將文件從Javascript傳遞到Java Uploader Applet

[英]Pass File from Javascript to Java Uploader Applet

我有一些Java Applet,可以用來將文件上傳到FTP服務器。 最重要的方法是upload(String ftpServer,String用戶名,String password,String filePath,File sourceFile)。 在JS代碼中,我存儲在從input =“ file”抓取的數組數據中(用戶可以將文件附加和刪除到他之前創建的不同對象上,因此我必須將此數據存儲在某個地方)。

問題在於,當調用上載函數時,文件數據由JS File對象表示,被識別為sun.plugin2.main.client.MessagePassingJSObject(嘗試初始化新的java.io.File對象時也是如此)。

因此,問題是:是否可以將與java.io.File或與文件有關的數據(我猜只是全路徑)兼容的對象以某種方式傳遞給Java applet?

是否沒有辦法從FileReader讀取的Java代碼文件上載到String(例如,使用.readAsBinaryString方法)?

還是如果有其他解決方案可以解決我的問題?

編輯:

一些上下文:

ftp上傳小程序是使用canvas元素(具體來說是fabric.js庫)的應用程序的一部分。 將新元素添加到畫布區域后,用戶可以選擇一個元素,然后向該元素添加/確定一些文件(任何圖像文件)。 圖像不必加載到畫布區域中,選擇特定元素后,它們的名稱應顯示在畫布下方的列表中。 當然也可以將其刪除。

用戶確認完成后,一些數據被發送(發布)到服務器端以准備一個控制文件,然后將該文件上傳到ftp服務器。 關於控制文件中所需的選定文件的唯一信息是文件名,因此我認為有可能將文件選擇器添加到applet而不是JS代碼中,而不是從applet發送該數據或將其傳遞給javascript,然后發送。 在發布控制文件數據之前或之后,用戶選擇的所有文件也應上傳到ftp服務器。

不幸的是,在某些情況下,必須將文件加載到畫布中並在確認后也發送到ftp服務器-背景圖像文件。

我不知道有任何方法可以通過Live Connect將 HTML5創建的ArrayBuffer傳遞給applet,但是可以(並且可能與跨瀏覽器更兼容)使用applet(通過JNLP FileOpenService )生成Java文件選擇器並從磁盤讀取文件。您無需簽署applet就可以做到)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM