首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js SFTP错误>错误:连接:已定义现有的SFTP连接。

Node.js SFTP错误>错误:连接:已定义现有的SFTP连接。
EN

Stack Overflow用户
提问于 2022-11-21 00:44:01
回答 1查看 15关注 0票数 0

在我的node.js应用程序中,我使用ssh2-sftp客户机每5秒上传一次图像。

上传工作正常,但是当重复该函数时,我会得到错误消息。

代码语言:javascript
复制
node .\upload.js
uploaded screenshot to server as test_screenshot_uploadI3Mjc.png (first run)
Error: connect: An existing SFTP connection is already defined (second run)

我的代码是:

代码语言:javascript
复制
let Client = require('ssh2-sftp-client');
let sftp = new Client();


function uploadScreenshot() {
    randomNumber = Buffer.from(Math.random().toString()).toString("base64").substring(10,15);
    filename = "test_screenshot_upload"+randomNumber+".png";
    sftp.connect({
      host: 'ssh.strato.de',
      port: '22',
      username: 'user',
      password: 'pass'
  }).then(() => {
    sftp.put('screenshot.png', '/path/folder/folder/'+filename);
  }).then(data => {
      console.log("uploaded screenshot to server as " + filename);
  }).catch(err => {
    console.log(err, 'catch error');
  });  
}

function foo() {
    uploadScreenshot();
    setInterval(foo, 5000);
}

foo();

我试图在sftp.end();之后添加sftp.put,但这并没有帮助。你能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-21 01:11:22

我所要做的就是搬家

代码语言:javascript
复制
let sftp = new Client();

转到

代码语言:javascript
复制
function uploadScreenshot() 

现在起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74513151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档