我是nodeJs的新手,我想从系统中读取文件, 我能够在控制台中看到文件内容,但在浏览器和我
中看不到我在这里错过了什么?
var myData = null;
fs.readFile('C:\\Users\\jbt\\Desktop\\simplefile.txt', 'utf8', function (err,data) {
if (err) {
return console.log("the error is: " + err);
}
console.log(data);
myData = data;
});
res.send(myData);
我在SO中尝试了一些其他帖子,但没有任何帮助..
答案 0 :(得分:1)
你试图发送两次响应,即。 res.send()被调用两次,这就是为什么一旦发送响应你就无法重新发送它。
答案 1 :(得分:0)
fs.ReadFile
是异步操作,您正在发送响应并且并行读取文件。你应该这样做
var myData = null;
fs.readFile('C:\\Users\\jbt\\Desktop\\simplefile.txt', 'utf8', function (err,data) {
if (err) {
return console.log("the error is: " + err);
}
console.log(data);
myData = data;
res.send(myData);
});
我建议您阅读有关Node.js和异步方法范例的更多信息。
答案 2 :(得分:0)
如果您收到错误,请发布错误?。检查以下答案。
var myData ;
fs.readFile('C:\\Users\\jbt\\Desktop\\simplefile.txt', 'utf8', function (err,data) {
if (err) {
return console.log("the error is: " + err);
}
console.log(data);
myData = data;
res.end(myData);//If you are not using express
});
我认为它会对你有所帮助。