Nodejs检查givvenstring是否是有效的文件系统path而不实际检查文件系统

如何在nodejs中检查给定的string是否是有效的文件系统path而不实际检查文件系统。

我正在使用telegram bot nodejs api,发送文件时会检查文件是否存在。 但在第二次我使用从预览上传的telegram file id而不是实际的文件path发送文件,所以在这种情况下,我想检查string是否是一个实际的文件path,而不是一个文件id(exp: AgADBAADuqcxG-ysuwhqkRaOdVnJI0CZXhkABL1NBSyVlK3gduoAAgI ),然后检查是否存在文件,以提高性能并避免不必要的文件系统访问。

1。

你可以检查string是否等于path.basename(string) 。 那么它不包含任何path分隔符,绝对不是另一个目录中的文件。 该function不会触及文件系统,只检查平台特定目录分隔符的string,因此适合您的性能需求。

 string === path.basename(string) 

2。

另一个想法:如果标识符遵循特定的格式,则为该格式创build一个正则expression式,并testing每个string的匹配并相应地继续。

 /identifierregex/.test(string)