2016-01-15 5 views
13

Ich habe eine Datei (data.file ein Bild), ich möchte dieses Bild speichern. Nun könnte ein Bild mit dem gleichen Namen davor existieren. Ich würde es gerne überschreiben, wenn es so ist oder es erstellen, wenn es nicht mehr existiert. Ich habe gelesen, dass die Flagge "w" dies tun sollte.writeFile keine solche Datei oder Verzeichnis

Code:

  fs.writeFile('/avatar/myFile.png', data.file, { 
       flag: "w" 
      }, function (err) { 
       if (err) { 
        return console.log(err); 
       } 
       console.log("The file was saved!"); 
      }); 

Fehler:

{ [Error: ENOENT: no such file or directory, open '/avatar/myFile.png'] 
    errno: -2, 
    code: 'ENOENT', 
    syscall: 'open', 
    path: '/avatar/myFile.png' } 

Antwort

36

Dies ist wahrscheinlich, weil Sie statt Ihrer App-Verzeichnis '/avatar/myFile.png' zu Wurzel-Dateisystem zu schreiben versuchen ->__dirname + '/avatar/myFile.png' sollte es tun, Überprüfen Sie auch, ob der Ordner existiert. node.js erstellt keinen übergeordneten Ordner für Sie.

+0

Wusste es war etwas Triviales, ta. –

+5

Das Problem, das ich hatte, war, dass das Elternverzeichnis nicht existierte. Danke für den Tipp –

0

Ich löste ein ähnliches Problem, wo ich versuchte, eine Datei mit einem Namen zu erstellen, der Zeichen enthielt, die nicht zulässig sind. Achten Sie auch darauf, weil es die gleiche Fehlermeldung gibt.