【CSDN开源夏令营】 基于Web的SSH客户端,实现跨平台的云服务管理(七)关于文件上传下载实现的设想

【CSDN开源夏令营】 基于Web的SSH客户端,实现跨平台的云服务管理(七)关于文件上传下载实现的设想

一.介绍

关于web端的SSH客户端初定的核心功能都做完了,工作上基本就算结束了。但是我觉得还可以为它增加文件上传下载功能。

二.实现需要解决的问题

1.我使用的底层没有对sftp的支持。
2.由于跳板机的存在,如何保证文件上传下载的安全性。

三.问题初步的解决方式

1.我在gitthub和stackoverflow上找到了sftp的nodejs实现,原来已经有sftp的nodejs开源了。https://github.com/mscdex/ssh2(找了好久)
2.跳板机不缓存文件,通过sftp协议拉取文件字节流到内存,文件用字节流的方式通过跳板机传输给终端。

四.总结

目前思路是有了,用https协议也可以保证文件的安全性,但是他的缺点是对服务器内存开销太大,而且对文件上传与下载的大小有限制。
目前我还没有找到一个好的办法来解决这个问题。
由于sftp的实现是nodejs(在服务器上)而不是用户前台的js,这就意味着文件上传下载必须通过服务器,因为用户前台不能支持sftp协议,并且服务器没有权利私自储存用户私有文件。这就意味着如果实现文件上传下载,服务器将有大量的内存将开销在文件字节流缓存上。
目前我还没有找到一个合适的方式在来合理的实现这个功能。(不是实现不了,是开销太大)
最合理的办法是用户前台可以用js实现sftp的模拟。这样文件流就不用走服务器了。不过目前还没有人实现或开源。
要是有人有好的方法实现,请告诉我下~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值