Node.js,无法打开文件。 错误:ENOENT,stat'./path/to/file'
我已经开发了一个node.js程序,使用我的电脑上的express框架,它运行良好,没有任何抱怨。
但是,当我在我的SUSE Studio应用装置上运行该程序时,我将在任何文件交互中收到错误消息。
Error: ENOENT, stat './path/to/file'
我已经检查过,文件权限是正确的,他们是。 如果这个问题很重要的话,我的电脑和我的电器都运行不同版本的节点。
有什么想法吗?
指定的path.
是相对于当前的工作目录,而不是相对于脚本文件。 所以,如果你运行node app.js
可能会find该文件,但如果运行node folder/app.js
则不会。 唯一的例外是require('./file')
,这是唯一可能的,因为每个模块require
存在require
,因此知道从哪个模块被调用。
要创build相对于脚本的path,必须使用__dirname
variables。
var path = require('path'); path.join(__dirname, 'path/to/file')
或潜在的
path.join(__dirname, 'path', 'to', 'file')
这里的代码来使用你的app.js
input指定文件名称
res.download(__dirname+'/'+input);