我有一个文件夹与图像,他们可以有不同的格式,但名称将永远是唯一的。如果我知道文件的名称没有扩展名(例如,index
和而不是index.html
),有没有办法获得文件扩展名?我可以检查文件是否存在于我希望在那里的每个扩展,但对我来说这似乎是一个不好的解决方案。Nodejs获取文件扩展名
例: 我知道有图像称为PIC
,但我不知道的扩展名(可能是“.PNG”,名为.jpg等)因此,我不能使用文件命令。
我有一个文件夹与图像,他们可以有不同的格式,但名称将永远是唯一的。如果我知道文件的名称没有扩展名(例如,index
和而不是index.html
),有没有办法获得文件扩展名?我可以检查文件是否存在于我希望在那里的每个扩展,但对我来说这似乎是一个不好的解决方案。Nodejs获取文件扩展名
例: 我知道有图像称为PIC
,但我不知道的扩展名(可能是“.PNG”,名为.jpg等)因此,我不能使用文件命令。
那么,如果你正在运行基于Unix的系统,这可能是一个解决方法。
var sys = require('util')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) {
console.log(stdout)
}
// this is where you should get your path/filename
var filename = "login";
// execute unix command 'file'
exec("file " + filename, puts);
我测试了它的PNG文件和文件EJS,既没有扩展名(你会不会让差)。 结果如下:
PNG: 照片:PNG图像数据,100×100,8-位/彩色RGB,非隔行扫描
EJS(什么基本上是一个HTML): 登录:HTML文件,ASCII文本
您可以检查文件命令行参数,使其更容易与STRI工作ng(例如文件-b文件名)。 如果使用Windows,那么您必须检查替代命令文件。
希望它有某种用处。
谢谢你的回答。我想我没问过我的问题,所以我更新了我的问题。 –
你可以使用命令** dir **或** ls **吗?我的意思是,如果您可以使用操作系统命令,则可以根据操作系统命令(例如,ls index *或dir index *)修改在答案中剪切的代码。 – Tom
这正是我一直在寻找的,谢谢! –
变种路径=要求( '路径')
path.extname( '的index.html') //返回 'html的'
下面是参考答案
更新时间:
https://www.npmjs.com/package/file-extension NP m安装--save文件扩展名 允许你指定一个文件名,那么它将返回扩展名
正如我的问题所述,我不知道该文件的扩展名。我只知道有一个名为'index.SOMETHING'的文件。 –
$ npm install --save file-extension这里是文档https://www.npmjs.com/package/file-extension – Jamesed
我知道我迟到了派对,但你可以在基于Unix的系统中使用grep
命令。
ie ls | grep PIC
。这样做首先给出工作目录的目录列表,然后从目录列表的输出中搜索短语PIC并打印它。(所以将要打印的唯一的事情是文件名)
在Windows中,使用dir PIC.* /b
可以执行使用child_process
这些命令,如图在其他的答案
[Node.js的可能的重复获取文件扩展](http://stackoverflow.com/questions/10865347/node-js-get-file-extension) – John
我想删除国旗,但不幸的是不能。如果一个国防部可以拒绝这将是伟大的 – John