0

したがって、モジュールの実際の場所ではなく、fsモジュールが使用していることはわかっていprocess.cwd()ますが、ファイルパスにはまだ少し問題があります。

だから私はこのようなアプリ構造を持っています:

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

コントローラーでcsvファイルを作成していますが、.csvファイルに保存したいと考えていtmpます。

したがって、コントローラーにいるにもかかわらず、

process.cwd() is '/app'

これは私がしました:

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

err は null であるため、正常に機能しているようです。したがって、それは /app/tmp/ にあるはずです

一方、index.jsには

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

console.logged が

/app/tmp/FILENAME

どちらが正しい。したがって、明らかに残りの半分が問題を引き起こしています。

だから私の質問は - process.cwd() を考慮して、このシナリオで fs を使用する正しい方法は何ですか? ちょっと困惑しました、何かアイデアはありますか?

4

1 に答える 1

1

依存するのprocess.cwd()は危険です。後で導入する他のコードによって変更される可能性があります。

使用する__dirname + '/tmp/FILENAME'方が安全です。

于 2013-02-08T21:54:12.823 に答える