我有一個文件夾與圖像,他們可以有不同的格式,但名稱將永遠是唯一的。如果我知道文件的名稱沒有擴展名(例如,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