Node.js检查给定的字符串是否是有效的文件系统路径,而无需实际检查文件系统

Exl*_*ord 6 filesystems file path file-exists node.js

我如何在nodejs中检查给定的字符串是否是有效的文件系统路径,而无需实际检查文件系统。

我正在使用电报bot nodejs api,并且在发送文件时会检查文件是否存在。但是第二次我使用的telegram file id是从预览上传中获取的,而不是发送文件的实际文件路径,因此在这种情况下,我想检查字符串是否是实际文件路径而不是文件id(exp :AgADBAADuqcxG-ysuwhqkRaOdVnJI0CZXhkABL1NBSyVlK3gduoAAgI)前检查,如果文件中存在这样来提高性能,并避免不必要的文件系统访问。

psp*_*spi 5

1。

您可以检查字符串是否等于path.basename(string)。然后,它不包含任何路径分隔符,并且绝对不是另一个目录中的文件。该功能不会影响文件系统,只会检查字符串以查找平台特定的目录分隔符,因此适合您的性能需求。

string === path.basename(string)
Run Code Online (Sandbox Code Playgroud)

2。

另一个想法:如果标识符遵循特定格式,则为该格式创建一个正则表达式,并测试每个字符串是否匹配,然后进行相应处理。

/identifierregex/.test(string)
Run Code Online (Sandbox Code Playgroud)

  • @pspi `.` 或 `..` 也是一个路径,所以第一种方法会失败。 (2认同)