2016-04-20 9 views
0

作業と異なるディレクトリにファイルを書く私は、PDFフォルダ内のファイルにassets.jsからファイルを記述する必要が、今、このディレクトリ

enter image description here

のように私のプロジェクト構造の何かを持っています。私は

var qrImgPath = '/lib/pdf/' +eod+'.png'; 
        fs.writeFile(qrImgPath,body,'binary',function(err){ 
         return next(); 
        }); 

をしようとしていますが、私はエラー

{ handle: 2, 
    type: 'error', 
    className: 'Error', 
    constructorFunction: { ref: 5 }, 
    protoObject: { ref: 6 }, 
    prototypeObject: { ref: 1 }, 
    properties: 
    [ { name: 'stack', 
     attributes: 2, 
     propertyType: 3, 
     ref: 1 }, 
    { name: 'arguments', 
     attributes: 2, 
     propertyType: 1, 
     ref: 1 }, 
    { name: 'type', 
     attributes: 2, 
     propertyType: 1, 
     ref: 1 }, 
    { name: 'message', 
     attributes: 2, 
     propertyType: 1, 
     ref: 7 }, 
    { name: 'errno', 
     propertyType: 1, 
     ref: 8 }, 
    { name: 'code', 
     propertyType: 1, 
     ref: 9 }, 
    { name: 'path', 
     propertyType: 1, 
     ref: 10 } ], 
    text: 'Error: ENOENT, open \'/lib/pdf/b0551796a741aa885e641dbd895a233f.png\'' } 

次取得していますものです

これをどのように達成できますか?

+0

のように相対パスを使用してください: 'var qrImgPath = '../../lib/pdf/' + eod + '。png';' –

+0

@JonathanBrooksはまだ同じエラー –

+0

このエラーは '/ lib/pdf/b0551796a741aa885e641dbd895a233f.png'は存在しません。 'fs.existsSync( '/ lib/pdf/b0551796a741aa885e641dbd895a233f.png')'を実行すると、その存在をテストできます。 – Lewis

答えて

1

__dirnameを使用できます。 (https://nodejs.org/docs/latest/api/globals.html#globals_dirname

path.join(__dirname, "../../lib/pdf" + eod + "png"); 
+0

成功していないと私はエラー:ENOENT、オープン\ '/ home/atul/workplace/market-invoice/routes ../../ lib/pdfb0551796a741aa885e641dbd895a233fpng \ –

+0

私の編集を見て – krakig

+0

がエラーを起こしました。しかし、これらのエラーを解決した後は正常に動作します。ありがとう –

1

あなたは現在実行中のスクリプトが常駐ディレクトリの名前を返します__dirnameグローバル変数を、使用することができ

をので、あなたのコードのようなものでなければなりません:。

var qrImgPath = path.join(__dirname, '../lib/pdf/' +eod+'.png'); 
        fs.writeFile(qrImgPath,body, 'binary',function(err){ 
         return next(); 
        }); 
+0

残念ながらノー成功 –

+0

ため、これが何であるか、私はエラー取得しています:、オープンENOENTを\「/ホーム/アトゥール/職場/市場・請求書/ルート/ libに/ PDF/b0551796a741aa885e641dbd895a233f.png \」この行を変更し –

+0

: var qrImgPath = '../../lib/pdf/' + eod + '。png'; – Jorge