问题标签 [ssh2-sftp-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
49 浏览

javascript - 如何在fstp服务器中编辑和保存excel文件

当我尝试编辑 excel 文件并将其上传到服务器时,它会写入文件,但是当我尝试打开它时,我收到一条错误消息“我们发现某些内容存在问题 .xlsx 错误”

错误信息

但是,如果我将文件上传到服务器而不进行编辑,我会做对,我附上了一个示例代码

如果有人可以帮助我了解我的错误在哪里,我会很高兴

0 投票
0 回答
23 浏览

node.js - SSH2 nodejs TypeError:无法读取未定义的属性“PROTOCOL_ERROR”

我一直在使用其中的 Windows 和 WSL 测试库 ssh2 和 ssh2-sftp-client 以连接到远程 sftp 服务器每次连接试验都返回

TypeError: Cannot read property 'PROTOCOL_ERROR' of undefined

来自stacktrase的哪个表明它来自

node_modules\ssh2\lib\client.js:715:20

我在 Windows 中测试了节点版本 v14.15.1 和来自 WSL 的 v12.18.4 两者都应该兼容,但都返回完全相同的错误

到目前为止,我已经找到了有关使用基于debugssh2 选项的不同加密算法的建议,但包括远程服务器指定的算法没有区别

0 投票
1 回答
73 浏览

cypress - 如何在 Cypress 测试中连接到 SFTP 服务器?

我正在尝试使用赛普拉斯测试中的ssh2-sftp-client NPM 包连接到 SFTP 服务器。

这是我目前的测试

目前,当我运行测试时,出现此错误:

有人可以告诉我如何解决这个问题吗?

0 投票
0 回答
18 浏览

npm - 如何使用 ssh2-sftp-client 将文件添加到 Cypress 中的远程 SFTP 服务器?

下面我可以连接到 SFTP 服务器并读取文件列表。这验证我能够成功连接到服务器:

现在作为赛普拉斯测试的一部分,我想将一个文本文件从我的本地机器上传到服务器上。

但我收到此错误消息:

本地文件路径正确,并且该文件存在。但myText.txt在远程服务器上不存在,我希望用该名称添加它。

有人可以告诉我我做错了什么以及如何解决吗?

0 投票
1 回答
76 浏览

node.js - 使用 Node.js 中的 ssh2-sftp-client 库通过 HTTP 代理进行 SFTP

我需要使用 Node.js 库ssh2-sftp-client传输文件。我的问题是我需要通过 HTTP 代理连接。该文档有一个 SOCKS 代理的步骤。我想知道如何使用 HTTP 代理来实现这一点。

0 投票
0 回答
22 浏览

javascript - 用 Jest 测试 sftp-client

我正在尝试使用 Jest 为使用 ssh2-sftp-client 模块的函数“DownloadFile”创建一个测试套件。

我想检查在 DownlaodFile 函数中是否调用了以下方法:

  1. 连接
  2. 快速获取
  3. 结尾

下载服务.js

我知道问题是我正在尝试测试在测试中创建的类的实例,而不是 downloadFile 函数中的实例。

我收到以下错误:

我不明白的是如何测试是否为 ssh2-sftp-client 类的任何实例调用了这些方法。

下载Service.test.js

0 投票
1 回答
24 浏览

stream - 监听流数据事件时 ssh2-sftp-client 文件上传不完整

我通过 ssh2-sftp-client 通过 readStream 上传文件。这很好,但是当我添加一个事件侦听器时,文件没有完全上传:

这有效:

这只会上传文件的 80%

调试模式下的最后一条消息显示没有错误:

管道流时同样的问题:

问题似乎在于 onData 事件和 pipe() 都将流切换到流动模式,这可能会导致数据丢失,因为数据会立即“尽快”传递给应用程序。所以我想知道:如何在不将读取流切换到流动模式的情况下读取块以从整个文件创建我的 md5sum 哈希?

0 投票
0 回答
30 浏览

javascript - NodeJS ssh2-sftp-client | 使用公钥和密码连接到 SFTP

我在使用公钥和密码连接到 SFTP 服务器时遇到问题。我尝试了以下代码,但它无限调用回调函数。

我很感激任何意见。谢谢你。

0 投票
0 回答
17 浏览

node.js - 使用 ssh2-sftp 将数据作为流写入 SFTP

我需要从 MongoDB 读取数据,对其进行转换,然后将其作为文件发送到远程 SFTP 服务器。由于数据库中的文档非常大,我尝试将其作为流来执行。我有一个可行但效率不高的解决方案。欣赏如何改进它的任何想法。到目前为止,它是这样工作的:

  1. 从 Mongo 读取数据作为流
  1. 创建一个新的转换流来对数据进行一些操作
  1. 通过管道传输两个流require('util').promisify(stream.pipeline)

到目前为止一切正常。

  1. 将数据放入 SFTP:

这就是问题所在。我在 Mongo 和 transform 之间使用流,但流并没有进一步作为流进入 SFTP。相反,它会等待所有对象从 Mongo 发送到转换流,并且仅在 csvStream 完成转换 Mongo 数据后才开始写入 SFTP。需要想法如何立即流式传输数据 mongo -> transform -> sftp。