在我的node.js应用程序中,我使用ssh2-sftp客户机每5秒上传一次图像。
上传工作正常,但是当重复该函数时,我会得到错误消息。
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)我的代码是:
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,但这并没有帮助。你能告诉我我做错了什么吗?
发布于 2022-11-21 01:11:22
我所要做的就是搬家
let sftp = new Client();转到
function uploadScreenshot() 现在起作用了。
https://stackoverflow.com/questions/74513151
复制相似问题