node.js如何从远程服务器读取流中的文件

时间:2018-07-04 12:12:35

标签: 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" 

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

1 个答案:

答案 0 :(得分:0)

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