当我在文件上使用readdir时,文件的大小是正确的。

使用FTP(JSFTP)对我的开发FTP服务器使用上面相同的技术工作得很好。

醇>

任何建议表示赞赏!

这是我的代码:

var Client = require('ssh2').Client;

var m_ssh2Credentials = {

host: config.ftpHostName,

port: config.ftpPort,

username: config.ftpUser,

password: config.ftpPassword,

readyTimeout: 20000,

algorithms: { cipher: ["3des-cbc", "aes256-cbc", "aes192-cbc","aes128-cbc"]}

};

...

var conn = new Client();

var dataLength = 0;

conn.on('ready', function() {

conn.sftp(function(err, sftp) {

if (err) {

writeToErrorLog("downloadFile(): Failed to open SFTP connection.");

} else {

writeToLog("downloadFile(): Opened SFTP connection.");

}

var streamErr = "";

var dataLength = 0;

var stream = sftp.createReadStream(config.ftpPath + "/" + m_fileName)

stream.on('data', function(d){

data.push(d);

dataLength += d.length;

});

.on('error', function(e){

streamErr = e;

})

.on('close', function(){

if(streamErr) {

writeToErrorLog("downloadFile(): Error retrieving the file: " + streamErr);

} else {

writeToLog("downloadFile(): No error using read stream.");

m_fileBuffer = Buffer.concat(data, dataLength);

writeToLog("Data length: " + dataLength);

writeToLog("downloadFile(): File saved to buffer.");

}

conn.end();

});

})

})

.on('error', function(err) {

writeToErrorLog("downloadFile(): Error connecting: " + err);

}).connect(m_ssh2Credentials);

ssh2 文件服务器,使用Node.js和SSH2从SFTP服务器读取文件相关推荐

  1. node.js fs.open 和 fs.write 读取文件和改写文件

    Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require('path'); 1.读取文件readFile函数 //readFile( ...

  2. 一、node.js搭建最简单的服务器

    node.js搭建最简单的服务器 代码演示: // 1. 加载http核心模块 var http = require('http')// 2. 使用http.createServer()方法创建一个W ...

  3. NGINX配置基于Node.js服务的负载均衡服务器

    NGINX配置基于Node.js服务的负载均衡服务器 本部署指南说明了如何使用NGINX开源和NGINX Plus在Node.js应用程序服务器池之间平衡HTTP和HTTPS通信.本指南中的详细说明适 ...

  4. 如何使用Node.js构建完整的GraphQL服务器

    by Jack R. Scott 杰克·R·斯科特(Jack R.Scott) 如何使用Node.js构建完整的GraphQL服务器 (How to build a full GraphQL serv ...

  5. js 给服务器发消息,的Node.js:发送消息至服务器

    我有我的服务器上运行以下的node.js:的Node.js:发送消息至服务器 var net=require('net'); var util=require('util'); var server= ...

  6. 【前端Vue+后端Node.js+MySql】部署到服务器

    [前端Vue+后端Node.js+MySql]部署到服务器 文章目录 [前端Vue+后端Node.js+MySql]部署到服务器 1.买服务器 2.服务器操作 2.1.修改服务器密码,xshell登录 ...

  7. 用 Node.js 手写一个 DNS 服务器

    DNS 是实现域名到 IP 转换的网络协议,当访问网页的时候,浏览器首先会通过 DNS 协议把域名转换为 IP,然后再向这个 IP 发送 HTTP 请求. DNS 是我们整天在用的协议,不知道大家是否 ...

  8. Fenix – 基于 Node.js 的桌面静态 Web 服务器

    Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...

  9. Node.js搭建一个简单的服务器

    文章目录 Node.js的安装 了解Node.js模块系统 服务器的搭建 一.创建一个Web服务器 注意 程序代码 运行 二.静态资源托管 静态资源 注意 程序代码 运行 三.简单接口的实现(简单服务 ...

最新文章

  1. 背景图像位置css_CSS背景图像大小教程–如何对整页背景图像进行编码
  2. 边缘链接 matlab,matlab-“简单”边缘-线-检测
  3. Zabbix配置微信报警通知
  4. Java游戏编程前篇 修改eclipse背景颜色
  5. python实现计算器代码 博客园_python实现计算器
  6. Spring 3.2矩阵变量是什么? –第2部分:代码
  7. python包含多个元组的元组_Python数据结构(元组,列表,字典)
  8. 华为交换机默认vlan都是通的吗_【思唯网络学院】华为交换机常用的三种vlan划分方法...
  9. C#LeetCode刷题之#53-最大子序和(Maximum Subarray)
  10. shc加密shell脚本
  11. 正则校验6-18位字母加数字密码
  12. java class命名_Java中class文件命名规则
  13. Ubuntu 20.04无法连接网络(网络图标丢失)的解决方案
  14. 图论Graph Theory:福尔福特森算法 Ford-Fulkerson
  15. Qt QTableWidget表格控件的用法(非常详细)
  16. 英汉小词典 java_英汉小词典 java随机存取文件流应用 version1.0
  17. Python可视化 | Seaborn02
  18. 【2017秋季校园招聘笔经面经专题汇总】
  19. 如何策划新闻稿,低成本实现品牌影响力增长
  20. “潜意识”有超潜能吗?

热门文章

  1. go的打包依赖构建工具-dep
  2. C#版本的CPU性能测试
  3. Visual Studio 6.0编译PWLib1.12总结
  4. 为什么电脑不能打字_为什么新电脑不能安装win7系统?
  5. 快乐的迁移到 Python3
  6. 入门Python数据分析最好的实战项目
  7. python requests post请求_实例解析Python3 如何利用requests 库进行post携带账号密码请求数据...
  8. android 开源Spanner,著名的分布式事务数据库谷歌Spanner设计有坑!
  9. 建立自己的voc数据集_一次将自己的数据集制作成PASCAL VOC格式的惨痛经历
  10. @scheduled cron动态修改_spring boot实现动态增删启停定时任务