2014-03-27 36 views
3

我正在使用node.js,试图保存文件,没有错误抛出,是的图像不会保存。这是怎么了保存文件:fs.writeFile没有错误,但没有写入文件

var url = 'captures/' + getFileName() + '.png'; 

    fs.writeFile(url, base64, 'base64', function(err) { 

     if(err) { 
      console.log(err); 
     } else { 
      console.log("The file was saved!"); 
     } 
    }); 

在一名助手,使文件名对我来说:

function getFileName(){ 
    var d = new Date() 
    return d.getMonth()+'-'+d.getDate()+'-'+d.getYear()+'-'+d.getHours()+'-'+d.getMinutes()+d.getSeconds(); 
} 

没有人有这样的烦恼?

+0

你可以扔一些日志。在fs.writeFile之前,记录url和base64,然后在函数内部记录相同的错误。这可能有帮助。谢谢 – Jdahern

+0

当然,我试着记录所有部分。他们都记录得很好。 – JohnRobertPett

+0

甚至当我添加绝对URL时也是如此...... – JohnRobertPett

回答

1

的问题是,因为这个调用是异步,可能是右后松动的背景下,我能够通过使用fs.writeFileSync这确实是同步修复它在我结束。希望这可以帮助

1

添加一个console.log('captures/' + getFileName())只是为了确保您的文件名是正确的。当我遇到这个问题时,事实证明我有一个文件路径/名称的问题,节点并没有给我一个错误来解释。