Node-Red 从 SFTP 获取文件

Node-Red Get File from SFTP

我正在使用 Node-red 连接到 SFTP 并获取文件。 问题是它 returns 总是这个错误:

"Error: sftp.realPath: The "string" argument must be of type string or an instance of Buffer or ArrayBuffer. Received type number (1645531908336) 1645531908336"

注意:我在“列表”上没有遇到这个错误,我已经尝试了很多 SFTP 服务器。总是一样的错误

这是我节点的图片

1645531908336 看起来像是来自注入节点的标准 msg.payload 值的时间戳。

假设这是 node-red-contrib-better-sftp 节点,那么它看起来写得不好,将始终采用 msg.payload 的值并覆盖节点配置中的任何已配置路径和文件名。这是一个非常糟糕的设计,如果配置中的值留空,则应该只使用输入消息。

https://github.com/sublime93/node-red-contrib-better-sftp/blob/10f67d46f3d762b254f7a6f22539ba4c95d6331e/transports/sftp/index.js#L148

因此,您测试的快速选择是从您正在测试的注入节点中删除 msg.payload

您还应该向节点作者提出问题以解决此问题。

编辑:已经有一个未解决的问题(从 2020 年年中开始)https://github.com/sublime93/node-red-contrib-better-sftp/issues/9