Nodejs获取文件扩展名

时间:2016-05-06 13:39:21

标签: node.js file-extension

我有一个带图片的文件夹,它们可以有不同的格式,但名称将始终是唯一的。如果我知道文件的名称没有扩展名(例如index index.html),是否有办法获取文件扩展名?我可以检查文件是否存在我希望在那里的每个扩展名,但这对我来说似乎是一个糟糕的解决方案。

示例: 我知道有一个名为PIC的图像,但我不知道扩展名(可能是'.png','.jpg'等),因此我无法使用文件命令。

3 个答案:

答案 0 :(得分:3)

好吧,如果您运行的是基于Unix的系统,这可能是一种解决方法。



abstract class  AbstractClass{
   foo(){
      // do someThing
   }
 }

class ConcreteClass extends AbstractClass{
    foo(){
        super.foo()
    }
}


interface ClassDicctionary {
    [index:string]:  typeof AbstractClass
}


let dicctionary : ClassDicctionary = { "ONE" :  ConcreteClass }

new dicctionary["One"]().foo() // Error. It can´t instance a abstrac class (of course)




我测试了它的PNG文件和EJS文件,两者都没有扩展(什么不会产生差异)。 结果如下:

<强> PNG: 照片:PNG图像数据,100 x 100,8位/彩色RGB,非隔行扫描

EJS(基本上是HTML): 登录:HTML文档,ASCII文本

您可以检查文件命令行参数,以便更轻松地使用字符串(例如 file -b filename )。 如果使用Windows,则必须检查文件的备用命令。

希望它在某种程度上有用。

答案 1 :(得分:0)

var path = require('path')

path.extname( '的index.html') //返回 '的.html'

以下是参考答案

Node.js get file extension

更新:

https://www.npmjs.com/package/file-extension npm install --save file-extension 允许您指定文件名,然后它将返回扩展名

答案 2 :(得分:0)

我知道我迟到了,但你可以在基于unix的系统中使用grep命令。

ls | grep PIC。这样做首先给出工作目录的目录列表,然后从目录列表的输出中搜索短语PIC并将其打印出来。 (所以唯一要打印的是文件名)

在Windows中,使用dir PIC.* /b

您可以使用child_process执行这些命令,如其他答案所示