无法使用nodejs读取文件

问题描述 投票:0回答:2

我使用以下代码从桌面读取文件。当我运行服务器并使用某些请求时,我在调试器中看不到任何内容。

我在这里缺少什么?

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 node.js fs
2个回答
1
投票

很难知道这里可能出现的所有错误,因为您只显示了一小部分代码,但有一个错误是文件名字符串。 Javascript 中的

\
字符是一种转义机制,因此字符串
'‪C:\Users\i123\Desktop\test.txt'
不是您想要的样子。 如果您确实需要在 Windows 文件名字符串中使用反斜杠,那么您需要使用这个:

'‪C:\\Users\\i123\\Desktop\\test.txt'

我注意到你的代码的其他事情:

  1. readFile()
    回调返回值不会执行任何操作。 它只是将一个值返回到异步文件 I/O 的内部,不执行任何操作。

  2. 当您收到文件错误时,您没有对

    res
    执行任何操作,这可能意味着该路由没有执行任何操作,浏览器将只是等待。


0
投票

就我而言,我使用的是

[documentation][1]

const fs = require('node:fs/promises');

当我将其更改为这个时,它起作用了。

const fs = require('node:fs');
© www.soinside.com 2019 - 2024. All rights reserved.