隐藏文件扩展名时识别文件类型

问题描述 投票:0回答:2

识别任何给定文件类型的正确方法是什么?

只要启用了显示文件扩展名的选项,我就知道有两种方法可以做到,它们几乎完全相同。

path.substring(path.lastIndexOf('.')+1)

const path = require('path')
path.extname(string)

但是如果有人禁用了显示文件扩展名的选项,该怎么办?在这种情况下,理想地以跨平台方式,我如何识别给定文件的文件类型?

javascript node.js file path fs
2个回答
1
投票

[当您说“类型”时,我假设您的意思是“文件名的最后一个点之后的部分”-无论用户的Windows资源管理器设置如何,该名称都会存在。


1
投票

也许有更好的方法,但是我只能想到这种解决方案。

const { execSync } = require('child_process');

let output = execSync('file ~/textFile')
  .toString()

console.log(output) // will print '/Users/macabeus/textFile: ASCII text'

这仅适用于Unix系统,因此您需要在Windows中使用WSL。

© www.soinside.com 2019 - 2024. All rights reserved.