首页 > 解决方案 > node.js如何从远程服务器读取流中的文件

问题描述

在 node.js 中,我试图在 filechange 上观看和读取文本文件。为此,我使用下面的代码,它工作得非常好。

var fs = require('fs'),bite_size = 256,readbytes = 0,file;
fs.open('testread.txt', 'r', function(err, fd) {
    file = fd; //readsome(); 

    var func = (function readsome() {
    var stats = fs.fstatSync(file); // yes sometimes async does not make sense!
    if(stats.size<readbytes+1) {        
        setTimeout(readsome, 1000);
    }
    else {
        fs.read(file, new Buffer(bite_size), 0, bite_size, readbytes, function (err, bytecount, buff) {
        console.log(buff.toString('utf-8', 0, bytecount));
        readbytes+=bytecount;
        process.nextTick(readsome);
        });
    }
    })();   
});

但这仅适用于本地文件,现在我需要以相同的方式从远程服务器(可能是 linux 或 windows)读取文本文件。

请帮助,我如何使用远程服务器登录信息,如下所示

IP address = "XXX.XXX.XX.XX";, 
username = username, 
password = password, 
filepath = "/root/testread.txt" or "D:\testread.txt" 

并从远程服务器文件路径中的文本文件中读取数据。

标签: node.js

解决方案


fs 使用本地文件系统。要访问远程文件,您需要使用一些网络协议(例如 Windows 的 NTFS 和 linux 的 ssh 或 ftp)这些协议将文件暴露给远程访问,您无法访问不使用它们的远程主机的文件系统


推荐阅读