2016-01-15 23 views
13

Ho un file (data.file un'immagine), vorrei salvare questa immagine. Ora un'immagine con lo stesso nome potrebbe esistere prima di. Vorrei sovrascrivere se è così o crearlo se non esiste da prima. Ho letto che la bandiera "w" dovrebbe farlo.writeFile nessun file o directory

codice:

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

errore:

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

risposta

36

Questo è probabilmente perché si sta cercando di scrivere root del file system al posto della directory app '/avatar/myFile.png' ->__dirname + '/avatar/myFile.png' dovrebbe fare il trucco, controlla anche se la cartella esiste. node.js non creerà la cartella principale per te.

+0

Sapevo che era qualcosa di banale, ta. –

+5

Il problema che stavo avendo era la directory madre non esisteva. Grazie per il consiglio –

0

Ho risolto un problema simile in cui stavo cercando di creare un file con un nome che contenesse caratteri non consentiti. Fai attenzione anche a quello perché dà lo stesso messaggio di errore.