1. 程式人生 > 程式設計 >JS 獲取檔案字尾,判斷檔案型別(比如是否為圖片格式)

JS 獲取檔案字尾,判斷檔案型別(比如是否為圖片格式)

1、獲取檔案字尾

有時候我們需要通過檔名或者路徑,得到該檔案的字尾名(副檔名),可以通過如下方式進行擷取:

//檔案路徑
var filePath = "file://upload/jb51.png";
//獲取最後一個.的位置
var index= filePath.lastIndexOf(".");
//獲取字尾
var ext = filePath.substr(index+1);
//輸出結果
console.log(ext);

效果圖如下:

JS 獲取檔案字尾,判斷檔案型別(比如是否為圖片格式)

2、檔案型別判斷

我們得到檔案字尾名後,根據字尾即可判斷檔案的型別(檔案格式)。比如我們需要判斷一個檔案是否是圖片格式,首先定義一個判斷函式:

function isAssetTypeAnImage(ext) {
 return [
 'png','jpg','jpeg','bmp','gif','webp','psd','svg','tiff'].
 indexOf(ext.toLowerCase()) !== -1;
}

使用時只需把字尾傳入即可判斷:

//檔案路徑
var filePath = "file://upload/jb51.png";
//獲取最後一個.的位置
var index= filePath.lastIndexOf(".");
//獲取字尾
var ext = filePath.substr(index+1);
//判斷是否是圖片
console.log("該檔案是否為圖片:" + isAssetTypeAnImage(ext));

效果圖如下:

JS 獲取檔案字尾,判斷檔案型別(比如是否為圖片格式)

3、第三種實現方式,今天我們小編剛get到的新技能

<script>
//檔案路徑
var fileName = "file://upload/jb51.png";
var Ttype="";
//字尾獲取
let suffix = '';
// 獲取型別結果
let result = '';
const flieArr = fileName.split('.');
suffix = flieArr[flieArr.length - 1];
if(suffix!=""){
suffix = suffix.toLocaleLowerCase();
// 圖片格式
const imglist = ['png','gif'];
// 進行圖片匹配
result = imglist.find(item => item === suffix);
if (result) {
  Ttype='image';
}
}
console.log("該檔案是否為圖片:" + Ttype);
</script>

使用es6的箭頭函式