使用fs时的文件路径

时间:2013-02-08 21:26:44

标签: javascript node.js filepath fs

所以我知道fs模块使用process.cwd()而不是模块的实际位置,但我对文件路径仍有一点问题。

所以我有一个像这样的app结构:

- app
   - controllers
   - models
   - views
   - tmp
   - index.js

我正在控制器中创建csv文件,并希望将其存储在tmp中。

所以考虑到尽管是在控制器中,

process.cwd() is '/app'

我这样做了:

fs.open('tmp/FILENAME','w',function (err,fd) {

错误为空,因此似乎工作正常。所以这应该在/ app / tmp /

另一方面,在index.js中我有

res.attachment(__dirname + '/tmp/FILENAME')

当console.logged是

/app/tmp/FILENAME

这是正确的。很明显,另一半导致了这个问题。

所以我的问题是 - 在这种情况下使用fs的正确方法是什么,考虑到process.cwd()? 有点难过,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

依赖process.cwd()是有风险的,稍后介绍的其他一些代码可能会改变它。

使用__dirname + '/tmp/FILENAME'更安全。