Kom*_*sal 8 javascript node.js node-streams ssh2
我正在使用 ssh2-sftp-client 从远程服务器获取文件。我正在将文件放入可读流中。我想将此可读流转换为所需的文件(sample.png 作为 png 文件,sample.doc 文件作为 doc 文件等)
\n\n这是我的代码-
\n\nlet Client = require(\'ssh2-sftp-client\');\nlet sftp = new Client();\n sftp.connect({\n host: sftpCredentials.host,\n port: sftpCredentials.port,\n username: sftpCredentials.username,\n password: sftpCredentials.password\n}).then(res => sftp.list(\'/\'))\n.then(res => {\n const file = await sftp.get(\'/sample.png\');\n\n})\nRun Code Online (Sandbox Code Playgroud)\n\n我想将此文件保存在本地。文件是一个可读流,如下 -
\n\nReadStream {_readableState: ReadableState, readable: true, domain: null, _events: Object, _eventsCount: 3, \xe2\x80\xa6}\n _events:Object {end: , error: , readable: }\n _eventsCount:3\n _maxListeners:undefined\n _readableState:ReadableState {objectMode: false, highWaterMark: 65536, buffer: BufferList, \xe2\x80\xa6}\n autoClose:true\n destroyed:false\n domain:null\n end:undefined\n flags:"r"\n handle:Buffer(4) [0, 0, 0, \xe2\x80\xa6]\n mode:438\n path:"/sample.png"\n pos:131072\n readable:true\n readableHighWaterMark:65536\n sftp:SFTPStream {_readableState: ReadableState, readable: true, domain: null, \xe2\x80\xa6}\n start:undefined\n __proto__:Readable {open: , _read: , destroy: , \xe2\x80\xa6}\nRun Code Online (Sandbox Code Playgroud)\n
由于file是可读流,您可以尝试
let Client = require('ssh2-sftp-client');
let fsv=vrequire('fs');
let sftp = new Client();
sftp.connect({
host: sftpCredentials.host,
port: sftpCredentials.port,
username: sftpCredentials.username,
password: sftpCredentials.password
}).then(res => sftp.list('/'))
.then(async res => {
const file = await sftp.get('/sample.png');
const ws=fs.createWriteStream('sample.png');
file.pipe(ws);
file.on('end',()=>console.log('done'));
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13915 次 |
| 最近记录: |