2016-04-20 19 views
0

id3jsを使用してnodejs内の特定の文字でファイルを開く際に問題が発生しています。nodejsとid3を使用してファイルを開く際の問題

あなたはその元のファイル名に#で切断し、見ることができるように私は読んしようとしているファイルは、私が取得しています"14 What'z Ya Phone # (Feat. Danny Bo.mp3"

エラーが/14%20What'z%20Ya%20Phone%20 net::ERR_FILE_NOT_FOUND

です。ファイルを探すときにノードがファイル名全体を使用するようにするためには、どのような手順が必要ですか。

+1

ちょっとお勧めします。#%23としてURLエンコードを試してみましたか?これは機能しますか? – Toonijn

+0

うん、うんざり!それは#のためのものなのか、それとも私が必要とする変換のリストがありますか? – Mustafa

答えて

2

いくつか古典的な文字がURLに含まれてはいけません。例は:? #@/\:と%。私は/と\はなぜ明らかではない(ファイルパス)と思いますか? ? get要求に使用されます。 #は、ページ上のIDへのショートカットとして使用されます。電子メールアドレスは@を使用し、ftpも@を使用できます。 uri bij:でポートを指定することができます。 %はURLエンコードに使用されます。

これらの文字は、エスケープはおそらく、(それらの文字のほとんどは、ファイルシステムによってファイル名に許可されていない)、動作します:

私のLinuxのミントで
? -> %3F 
# -> %23 
@ -> %40 
/-> %2F 
\ -> %5C 
: -> %3A 
% -> %25 

私は、ファイルの名前を変更することができます:「#@?: \。TXT'。あなたはあなたが置き換える必要がある文字を試すことができます。

注記 JavaScriptを置き換える場合は、グローバルフラグ:"".replace(/\?/g, "%3F")を設定することを忘れないでください。

関連する問題