2016-04-20 9 views
0

anders habe ich meine Projektstruktur so etwas wie dieseeine Datei in ein Verzeichnis schreiben, die aus Arbeitsverzeichnis

enter image description here

Nun, ich brauche eine Datei von assets.js in eine Datei im PDF-Ordnern zu schreiben .

Das ist, was ich versuche,

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

aber ich bin immer folgende Fehler

{ 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\'' } 

.

Wie kann ich das erreichen?

+0

Verwenden Sie einen relativen Pfad, wie folgt: 'var qrImgPath = '../../lib/pdf/' + eod + '. Png';' –

+0

@ JonathanBrooks immer noch gleichen Fehler –

+0

Dieser Fehler bedeutet '/ lib/pdf/b0551796a741aa885e641dbd895a233f.png' existiert nicht. Sie können 'fs.existsSync ('/ lib/pdf/b0551796a741aa885e641dbd895a233f.png')' ausführen, um dessen Existenz zu testen. – Lewis

Antwort

1

Sie können __dirname verwenden. (https://nodejs.org/docs/latest/api/globals.html#globals_dirname)

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

kein Erfolg sehen und ich bin immer Fehler: ENOENT, open \ '/ home/atul/Arbeitsplatz/Markt-Rechnung/Routen ../../ lib/pdfb0551796a741aa885e641dbd895a233fpng \ –

+0

Blick auf meine bearbeiten – krakig

+0

bekam einige Fehler . aber nach der Auflösung dieser Fehler funktioniert gut. Danke –

1

Sie die __dirname globale Variable verwenden könnte, das den Namen des Verzeichnisses zurückgibt, die die aktuell ausgeführte Skript in residiert

Also, sollten Sie Ihren Code so etwas wie:.

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

Leider kein Erfolg –

+0

Dies ist, was ich bekomme Fehler: ENOENT, öffnen \ '/ home/atul/Arbeitsplatz/market-invoice/routes/lib/pdf/b0551796a741aa885e641dbd895a233f.png \' –

+0

Diese Zeile ändern: var qrImgPath = '../../lib/pdf/' + eod + '. png'; – Jorge

Verwandte Themen