【问题标题】:Cannot read file with nodejs无法使用nodejs读取文件
【发布时间】:2015-06-05 06:07:12
【问题描述】:

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

我在这里错过了什么?

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


【解决方案1】:

这里很难知道所有可能有问题的地方,因为您只显示了一小部分代码,但有一点是错误的,那就是文件名字符串。 Javascript 中的 \ 字符是一种转义机制,因此字符串 '‪C:\Users\i123\Desktop\test.txt' 不是您想要的。如果您确实需要在 Windows 文件名的字符串中使用反斜杠,那么您需要使用:

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

我注意到您的代码的其他事项:

  1. readFile() 回调返回一个值什么都不做。它只是将一个值返回到不做任何事情的异步文件 I/O 的内部。

  2. 当您收到文件错误时,您没有对 res 执行任何操作,这可能意味着此路由没有执行任何操作,浏览器只会等待。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2022-12-07
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    相关资源
    最近更新 更多