2014-04-12 30 views
1

我目前正在開發基於瀏覽器的項目,我第一次使用JavaScript,HTML和CSS,沒有過去使用過這些語言的經驗。基本上項目涉及以下內容:(1)允許用戶經由下面的代碼上傳.csv文件:JavaScript文件傳輸SSH

<input id="files" type="file" accept=".csv" /> 

(2)讀出文件,(3)轉換成YAML文件(.yml) (4)通過SSH/SCP/SFTP將其上傳到遠程服務器。

我已經做了(1)和(2),但什麼我遇到真正的麻煩是部分4.我的問題是:

  • 是否有可能在JavaScript文件上傳到遠程服務器通過SSH/SCP/SFTP,請記住,這是一個基於瀏覽器的項目。
  • 如果不是,那麼允許用戶執行此操作的一些其他基於瀏覽器的方法是什麼?
  • 使用JavaScript製作.yml文件的好資源?

謝謝。

+0

現在想不到任何東西,我的頭頂。如果我這樣做,我會張貼另一個想法:) – DoctorLouie

+0

我有一個Javascript編寫過程寫成'HTA'文件 - 網頁與應用程序級權限運行 - 呼籲外部FTP程序上傳的東西。很難使用Windows內置的FTP客戶端,因爲寫這些的人不包含被動模式。 –

+0

您只有XMLHttpRequest API(用於HTTPS和FTP)和WebSocket API(用於WSS)。因此2017年無法直接執行「SSH/SCP/SFTP」。 – 4esn0k

回答

0
+0

我已經看過,是的,並且一直在玩Node.js,但據我所知,Node.js不能從瀏覽器運行,對吧?我希望用戶只需點擊其網頁上的按鈕,然後將文件傳輸到服務器。 – AliKhokhar

+0

誠實地說,在這個階段完全不關心安全。 – AliKhokhar

+0

如果是這種情況,意味着你不關心安全性,那麼你不需要SSH/SCP/SFTP連接。相反,只需使用JavaScript的異步上傳功能即可完成所有文件傳輸。 – DoctorLouie

0

安全的客戶端JavaScript是一個有缺陷的想法,因爲這是不可能的,你會發現基於JS-SSH實現(SSH是相當複雜的協議族)。最好的選擇是要麼有一個Java applet來完成這項工作(applet必須進行正確的數字簽名才能連接到第三方位置),或者將文件上傳到Web服務器,並將文件上傳到別處。

+0

您可以擴展websever的想法嗎?謝謝。 – AliKhokhar

+0

@AliKhokhar SFTP文件上傳必須在服務器上進行,而不是在客戶端瀏覽器中進行。我在客戶端上有數據,將它們發回服務器並讓服務器執行SFTP。 –

+0

我使用過WebDAV –