我在使用id3js在nodejs中打开包含某些字符的文件时遇到问题。
我正在尝试阅读的文件是"14 What'z Ya Phone # (Feat. Danny Bo.mp3"
我得到的错误是/14%20What'z%20Ya%20Phone%20 net::ERR_FILE_NOT_FOUND
正如您所看到的,它在原始文件名中以#切断。我必须采取哪些步骤来确保节点在查找文件时使用整个文件名。
答案 0 :(得分:2)
有些经典字符不应该在网址中。例如: #@ / \:和%。我认为/和\很明显为什么不(文件路径)。 ?用于获取请求。 #用作页面上id的快捷方式。电子邮件地址使用@' s,ftp也可以使用@。您可以在url bij中指定端口:。 %用于网址编码。
这些字符转义可能会起作用(文件系统不允许在文件名中包含大部分字符):
? -> %3F
# -> %23
@ -> %40
/ -> %2F
\ -> %5C
: -> %3A
% -> %25
在我的linux薄荷中,我可以将文件重命名为:'?#@:\ .txt'。您可以尝试替换需要替换的字符。
注意如果您要在javascript中进行替换,请不要忘记设置全局标记:"".replace(/\?/g, "%3F")
。