2014-03-27 34 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())只是爲了確保您的文件名是正確的。當我遇到這個問題時,事實證明我有一個文件路徑/名稱的問題,節點並沒有給我一個錯誤來解釋。