无法使用nodejs读取文件
Cannot read file with nodejs
我使用以下代码从桌面读取文件。当我 运行 服务器并使用一些请求时,我在调试器中看不到任何东西。
我在这里错过了什么?
fs = require('fs');
fs.readFile('C:\Users\i123\Desktop\test.txt', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
res.send(data);
});
这里很难知道所有可能出错的地方,因为您只显示了一小段代码,但有一个错误是文件名字符串。 Javascript 中的 \
字符是一种转义机制,因此字符串 'C:\Users\i123\Desktop\test.txt'
不是您想要的。如果你真的需要在 Windows 文件名的字符串中使用反斜杠,那么你需要使用这个:
'C:\Users\i123\Desktop\test.txt'
关于您的代码我注意到的其他事项:
从 readFile()
回调中返回一个值不执行任何操作。它只是 returns 一个返回异步文件 I/O 内部的值,它什么都不做。
当你遇到文件错误时,你没有对 res
做任何事情,这大概意味着这条路线没有做任何事情,浏览器只会等待。
我使用以下代码从桌面读取文件。当我 运行 服务器并使用一些请求时,我在调试器中看不到任何东西。
我在这里错过了什么?
fs = require('fs');
fs.readFile('C:\Users\i123\Desktop\test.txt', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
console.log(data);
res.send(data);
});
这里很难知道所有可能出错的地方,因为您只显示了一小段代码,但有一个错误是文件名字符串。 Javascript 中的 \
字符是一种转义机制,因此字符串 'C:\Users\i123\Desktop\test.txt'
不是您想要的。如果你真的需要在 Windows 文件名的字符串中使用反斜杠,那么你需要使用这个:
'C:\Users\i123\Desktop\test.txt'
关于您的代码我注意到的其他事项:
从
readFile()
回调中返回一个值不执行任何操作。它只是 returns 一个返回异步文件 I/O 内部的值,它什么都不做。当你遇到文件错误时,你没有对
res
做任何事情,这大概意味着这条路线没有做任何事情,浏览器只会等待。