我使用以下代码从桌面读取文件。当我运行服务器并使用某些请求时,我在调试器中看不到任何内容。
我在这里缺少什么?
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()
回调返回值不会执行任何操作。 它只是将一个值返回到异步文件 I/O 的内部,不执行任何操作。当您收到文件错误时,您没有对
res
执行任何操作,这可能意味着该路由没有执行任何操作,浏览器将只是等待。就我而言,我使用的是
[documentation][1]
const fs = require('node:fs/promises');
当我将其更改为这个时,它起作用了。
const fs = require('node:fs');