2014-04-12 28 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 –