1. 程式人生 > >nodejs 獲取資料夾中的檔案和獲取資料夾中的所有圖片

nodejs 獲取資料夾中的檔案和獲取資料夾中的所有圖片

//引用檔案系統模組
var fs = require("fs");
//引用imageinfo模組
var image = require("imageinfo");

function readFileList(path, filesList) {
    var files = fs.readdirSync(path);
    files.forEach(function (itm, index) {
        var stat = fs.statSync(path + itm);
        if (stat.isDirectory()) {
        //遞迴讀取檔案
            readFileList(path + itm + "/"
, filesList) } else { var obj = {};//定義一個物件存放檔案的路徑和名字 obj.path = path;//路徑 obj.filename = itm//名字 filesList.push(obj); } }) } var getFiles = { //獲取資料夾下的所有檔案 getFileList: function (path) { var filesList = []; readFileList(path, filesList); return
filesList; }, //獲取資料夾下的所有圖片 getImageFiles: function (path) { var imageList = []; this.getFileList(path).forEach((item) => { var ms = image(fs.readFileSync(item.path + item.filename)); ms.mimeType && (imageList.push(item.filename)) }); return
imageList; },//獲取資料夾下所有非圖片的檔案 2018年8月18日 19:15:13更新 getTxtList: function (path) { return this.getFileList(path).filter((item) => { var ms = image(fs.readFileSync(item.path + item.filename)); return !ms.mimeType }); } };
//獲取資料夾下的所有圖片
getFiles.getImageFiles("./public/");
//獲取資料夾下的所有檔案
getFiles.getFileList("./public/");

注意路徑後需要一個”/”