ssh2 文件服务器,使用Node.js和SSH2从SFTP服务器读取文件
当我在文件上使用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服务器读取文件相关推荐
- node.js fs.open 和 fs.write 读取文件和改写文件
Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require('path'); 1.读取文件readFile函数 //readFile( ...
- 一、node.js搭建最简单的服务器
node.js搭建最简单的服务器 代码演示: // 1. 加载http核心模块 var http = require('http')// 2. 使用http.createServer()方法创建一个W ...
- NGINX配置基于Node.js服务的负载均衡服务器
NGINX配置基于Node.js服务的负载均衡服务器 本部署指南说明了如何使用NGINX开源和NGINX Plus在Node.js应用程序服务器池之间平衡HTTP和HTTPS通信.本指南中的详细说明适 ...
- 如何使用Node.js构建完整的GraphQL服务器
by Jack R. Scott 杰克·R·斯科特(Jack R.Scott) 如何使用Node.js构建完整的GraphQL服务器 (How to build a full GraphQL serv ...
- js 给服务器发消息,的Node.js:发送消息至服务器
我有我的服务器上运行以下的node.js:的Node.js:发送消息至服务器 var net=require('net'); var util=require('util'); var server= ...
- 【前端Vue+后端Node.js+MySql】部署到服务器
[前端Vue+后端Node.js+MySql]部署到服务器 文章目录 [前端Vue+后端Node.js+MySql]部署到服务器 1.买服务器 2.服务器操作 2.1.修改服务器密码,xshell登录 ...
- 用 Node.js 手写一个 DNS 服务器
DNS 是实现域名到 IP 转换的网络协议,当访问网页的时候,浏览器首先会通过 DNS 协议把域名转换为 IP,然后再向这个 IP 发送 HTTP 请求. DNS 是我们整天在用的协议,不知道大家是否 ...
- Fenix – 基于 Node.js 的桌面静态 Web 服务器
Fenix 是一个提供给开发人员使用的简单的桌面静态 Web 服务器,基于 Node.js 开发.您可以同时在上面运行任意数量的项目,特别适合前端开发人员使用. 您可以通过免费的 Node.js 控制 ...
- Node.js搭建一个简单的服务器
文章目录 Node.js的安装 了解Node.js模块系统 服务器的搭建 一.创建一个Web服务器 注意 程序代码 运行 二.静态资源托管 静态资源 注意 程序代码 运行 三.简单接口的实现(简单服务 ...
最新文章
- 背景图像位置css_CSS背景图像大小教程–如何对整页背景图像进行编码
- 边缘链接 matlab,matlab-“简单”边缘-线-检测
- Zabbix配置微信报警通知
- Java游戏编程前篇 修改eclipse背景颜色
- python实现计算器代码 博客园_python实现计算器
- Spring 3.2矩阵变量是什么? –第2部分:代码
- python包含多个元组的元组_Python数据结构(元组,列表,字典)
- 华为交换机默认vlan都是通的吗_【思唯网络学院】华为交换机常用的三种vlan划分方法...
- C#LeetCode刷题之#53-最大子序和(Maximum Subarray)
- shc加密shell脚本
- 正则校验6-18位字母加数字密码
- java class命名_Java中class文件命名规则
- Ubuntu 20.04无法连接网络(网络图标丢失)的解决方案
- 图论Graph Theory:福尔福特森算法 Ford-Fulkerson
- Qt QTableWidget表格控件的用法(非常详细)
- 英汉小词典 java_英汉小词典 java随机存取文件流应用 version1.0
- Python可视化 | Seaborn02
- 【2017秋季校园招聘笔经面经专题汇总】
- 如何策划新闻稿,低成本实现品牌影响力增长
- “潜意识”有超潜能吗?
热门文章
- go的打包依赖构建工具-dep
- C#版本的CPU性能测试
- Visual Studio 6.0编译PWLib1.12总结
- 为什么电脑不能打字_为什么新电脑不能安装win7系统?
- 快乐的迁移到 Python3
- 入门Python数据分析最好的实战项目
- python requests post请求_实例解析Python3 如何利用requests 库进行post携带账号密码请求数据...
- android 开源Spanner,著名的分布式事务数据库谷歌Spanner设计有坑!
- 建立自己的voc数据集_一次将自己的数据集制作成PASCAL VOC格式的惨痛经历
- @scheduled cron动态修改_spring boot实现动态增删启停定时任务