我很难通过 ssh2-sftp-client ( https://www.npmjs.com/package/ssh2-sftp-client ) 从缓冲区上传文件我正在使用 Multer 上传文件,然后我只是目标req.file.buffer
是访问要通过 sftp 客户端上传的数据,如下所示:
sftp.connect({
host: 'some.IP.address.here',
port: '22',
username: 'username',
password: 'password'
})
.then(() => {
return sftp.put(req.file.buffer, '/var/www/bucket', false);
})
.catch((err) => {
console.log(err, 'catch error');
});
我无法弄清楚如何为存储在req.file.originalname
Multer 对象中的上传文件分配名称。
顺便说一句,ssh2-sftp-client 返回以下错误:
Error: Failure
image.routes.js:39
code:4
lang:""
message:"Failure"
stack:"Error: Failure\n at SFTPStream._transform (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2-streams/lib/sftp.js:410:27)\n at SFTPStream.Transform._read (_stream_transform.js:185:10)\n at SFTPStream._read (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2-streams/lib/sftp.js:181:15)\n at SFTPStream.Transform._write (_stream_transform.js:173:12)\n at doWrite (_stream_writable.js:406:12)\n at writeOrBuffer (_stream_writable.js:392:5)\n at SFTPStream.Writable.write (_stream_writable.js:290:11)\n at Channel.ondata (_stream_readable.js:646:20)\n at Channel.emit (events.js:127:13)\n at addChunk (_stream_readable.js:269:12)\n at readableAddChunk (_stream_readable.js:256:11)\n at Channel.Readable.push (_stream_readable.js:213:10)\n at SSH2Stream.<anonymous> (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2/lib/Channel.js:166:15)\n at SSH2Stream.emit (events.js:127:13)\n at parsePacket (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2-streams/lib/ssh.js:3444:10)\n at ...
__proto__:Object {constructor: , name: "Error", message: "", …}
constructor:function Error() { … }
message:""
name:"Error"
toString:function toString() { … }
__proto__:Object {constructor: , __defineGetter__: , __defineSetter__: , …}
catch error