2012-01-19 65 views
0

NodeJS的新增功能。NodeJS:異步文件讀取問題

是的我知道我可以使用一個框架,但我想在深入研究無數優秀的精細工具之前先弄好一個框架。

我的問題:

var img = fs.readFileSync(path); 

上述作品;

fs.readFile(path, function (err, data) 
     { 
      if (err) throw err; 
      console.log(data); 
     }); 

以上不起作用;

輸入路徑: 'C:\ NodeSite \ chrome.jpg'

哦,而在Windows 7

任何幫助的工作將非常感激。

固定 深夜/早上的編程,引入了難以發現的錯誤。路徑是從兩個不同的地方設置的,因此兩種情況下的源路徑都不相同。感謝您的幫助。我是一個完整的數字。 :)

+3

什麼不行?你展示的例子有效。 – Raynos

+0

第二段代碼產生一個錯誤,說我的頭頂部「需要字符串或緩衝區」。 – WeNeedAnswers

回答

3

如果在讀取文件時未設置編碼,則會得到二進制內容。

例如,下面的代碼片段將使用UTF-8編碼輸出測試文件的內容。如果你不使用編碼,你將在控制檯上得到一個類似於「」的輸出(原始二進制緩衝區)。

var fs = require('fs'); 

var path = "C:\\tmp\\testfile.txt"; 
fs.readFile(path, 'utf8', function (err, data) { 
    if (err) throw err; 
    console.log(data); 
}); 

另一個問題(特別是在基於Windows的操作系統的)可以正確逃逸目標路徑的。上面的例子顯示了Windows上的路徑必須被轉義。

+0

謝謝,請試試 – WeNeedAnswers

+0

yup,轉義錯誤。 – WeNeedAnswers