2012-01-19 13 views
0

NodeJSの新機能。NodeJS:非同期ファイル読み取りの問題

はい私はフレームワークを使うことができると知っていますが、そこにある素晴らしいファインツールを掘り下げる前に、良いフレームワークを得たいと思います。

私の問題:

var img = fs.readFileSync(path); 

上記作品。

上記は機能しません。

入力パスは次のとおりです。 'C:\ NodeSite \ chrome.jpg'

ああおよびWindows 7

に取り組んで任意の助けもいただければ幸いです。

固定 夜遅くの朝のプログラミングでは、見つけにくいエラーが発生します。パスは2つの異なる場所から設定されていたため、ソースパスはどちらの場合も異なっていました。ご協力ありがとうございました。私は完全に不満です。 :)

+3

何が問題なのですか?あなたが見せた例はうまくいきます。 – Raynos

+0

コードの2番目の部分は、私の頭の上の "文字列またはバッファが必要です"というエラーを生成します。 – WeNeedAnswers

答えて

3

ファイルを読み取っているときにエンコーディングを設定していない場合は、バイナリコンテンツが取得されます。

たとえば、次のスニペットは、UTF-8エンコーディングを使用してテストファイルの内容を出力します。エンコーディングを使用しないと、コンソール(rawバイナリバッファ)に ""のような出力が得られます。 (特にWindowsベースのOS上)

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上のパスをどのようにエスケープする必要があるかを示しています。

+0

ありがとう、試してみてください – WeNeedAnswers

+0

うん、エスケープエラー。 – WeNeedAnswers

関連する問題