Nodejs检查给定的字符串是否是有效的文件系统路径而不实际检查文件系统
Nodejs check if the given string is a valid file system path without actually checking the file system
我如何在 nodejs 中检查给定的字符串是否是有效的文件系统路径而不实际检查文件系统。
我正在使用 telegram bot nodejs api 并且在发送文件时它会检查文件是否存在。但是第二次我使用从预览上传中获得的 telegram file id
而不是发送文件的实际文件路径,所以在这种情况下我想检查字符串是否是实际文件路径而不是在检查文件是否存在之前的文件 id(exp: AgADBAADuqcxG-ysuwhqkRaOdVnJI0CZXhkABL1NBSyVlK3gduoAAgI
) 以提高性能并避免不必要的文件系统访问。
1.
您可以检查字符串是否等于 path.basename(string)
。然后它不包含任何路径分隔符,并且绝对不是另一个目录中的文件。该功能不会触及文件系统,只会检查特定于平台的目录分隔符的字符串,因此适合您的性能需求。
string === path.basename(string)
2.
另一个想法:如果标识符遵循特定格式,则为该格式创建一个正则表达式并测试每个字符串是否匹配并进行相应处理。
/identifierregex/.test(string)
我如何在 nodejs 中检查给定的字符串是否是有效的文件系统路径而不实际检查文件系统。
我正在使用 telegram bot nodejs api 并且在发送文件时它会检查文件是否存在。但是第二次我使用从预览上传中获得的 telegram file id
而不是发送文件的实际文件路径,所以在这种情况下我想检查字符串是否是实际文件路径而不是在检查文件是否存在之前的文件 id(exp: AgADBAADuqcxG-ysuwhqkRaOdVnJI0CZXhkABL1NBSyVlK3gduoAAgI
) 以提高性能并避免不必要的文件系统访问。
1.
您可以检查字符串是否等于 path.basename(string)
。然后它不包含任何路径分隔符,并且绝对不是另一个目录中的文件。该功能不会触及文件系统,只会检查特定于平台的目录分隔符的字符串,因此适合您的性能需求。
string === path.basename(string)
2.
另一个想法:如果标识符遵循特定格式,则为该格式创建一个正则表达式并测试每个字符串是否匹配并进行相应处理。
/identifierregex/.test(string)