js,无法打开文件。错误:ENOENT,stat‘./path/to/file’

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (34)

我开发了一个node.js程序,它使用我的计算机上的Express框架,运行良好,没有任何抱怨。

然而,当我在我的SUSEStudio设备上运行这个程序时,我在任何文件交互中都会收到一个错误。

Error: ENOENT, stat './path/to/file'

我已经检查了文件权限是否正确,它们是正确的。如果这很重要,我的计算机和我的设备正在运行不同版本的节点。

有什么想法吗?

提问于
用户回答回答于

对象指定的路径。.是相对于当前工作目录,而不是相对于脚本文件。因此,如果运行node app.js但如果你跑了node folder/app.js。唯一的例外是require('./file')这是可能的,因为require每个模块都存在,因此知道从哪个模块调用它。

若要创建相对于脚本的路径,必须使用__dirname变量。

var path = require('path');

path.join(__dirname, 'path/to/file')

或者潜在的

path.join(__dirname, 'path', 'to', 'file')
用户回答回答于

这里是使用app.js的代码

输入指定文件名

res.download(__dirname+'/'+input);

扫码关注云+社区