Node.js Error ENOENT, open "file/path" when nothing has been changed

21,964

There are a few things that might cause ENOENT when writing a file.

  • The destination directory (in this case, E:\Desktop\SniffIt\bin\xml) does not exist.
  • A newline (CR and/or LF) in the filename.

You should be using a proper XML parser to read your input file. This would probably help you avoid the spurious newlines you're getting.

Share:
21,964
Dirly
Author by

Dirly

Updated on February 02, 2020

Comments

  • Dirly
    Dirly over 4 years

    Ok first off... I'm new to Node.js. I'm trying to convert a word document to HTML then scrapping it to obtain the content. Then pump it into an existing engine.

    With that being said, everything was running fairly smoothly until today. I just got the fs.writeFile working last night and stepped away from it. This morning without touching it and trying to run it I receive this:

    this error

    here's the block where the error is being called.

    //COPY TEMPLATE AND PASTE
    fs.readFile("./Templates/TextBasedEvent.xml", function (err, data){
        if (err) {
            throw err;
        }       
        var contentHolder = data.toString(),            
            contentHolder = contentHolder.replace(/%EVENTNUMBER%/gi, id),
            contentHolder = contentHolder.replace(/%CONTENT%/gi, contents);
        fs.writeFile("./bin/xml/" + id + ".xml", contentHolder, function (err){
            if (err) {
                throw err;
            }
        });
    });
    

    Does it have something to do with how the variable is placed in the file path? also the throw err for it just seems weird that it soft returned in between where the variable is.

    Thanks!

    Edit: The issue was with newline being pulled in, with the variable.