找回密码
 立即注册
查看: 554|回复: 0

[笔记] nodejs得到当前文件夹下所有图片的信息面积等代码

[复制链接]
发表于 2021-5-18 17:20 | 显示全部楼层 |阅读模式
  1. //获取项目工程里的图片
  2. var fs = require('fs');//引用文件系统模块
  3. var image = require("imageinfo"); //引用imageinfo模块
  4.    
  5. function readFileList(path, filesList) {
  6.         var files = fs.readdirSync(path);
  7.         files.forEach(function (itm, index) {
  8.             var stat = fs.statSync(path + itm);
  9.             if (stat.isDirectory()) {
  10.             //递归读取文件
  11.                 readFileList(path + itm + "/", filesList)
  12.             } else {
  13.    
  14.                 var obj = {};//定义一个对象存放文件的路径和名字
  15.                 obj.path = path;//路径
  16.                 obj.filename = itm//名字
  17.                 filesList.push(obj);
  18.             }
  19.    
  20.         })
  21.    
  22.     }
  23.     var getFiles = {
  24.         //获取文件夹下的所有文件
  25.         getFileList: function (path) {
  26.             var filesList = [];
  27.             readFileList(path, filesList);
  28.             return filesList;
  29.         },
  30.         //获取文件夹下的所有图片
  31.         getImageFiles: function (path) {
  32.             var imageInfoList = [];
  33.    
  34.             this.getFileList(path).forEach((item) => {
  35.                 var ms = image(fs.readFileSync(item.path + item.filename));
  36.                 if( ms.mimeType){
  37.                     var json ={};
  38.                     json.imageName = item.filename;
  39.                     json.imageWidth = ms.width;
  40.                     json.imageHeight = ms.height;
  41.                     json.imageArea = ms.width * ms.height;
  42.                     imageInfoList.push(json);
  43.                 }
  44.             });
  45.             return imageInfoList;
  46.    
  47.         }
  48.     };
  49.     //获取文件夹下的所有图片
  50.    var imageInfoList =  getFiles.getImageFiles("./");
  51.    console.log("所有图片信息:"+JSON.stringify(imageInfoList));
  52.    var totalImageCount = 0;
  53.    var totalImageArea = 0;
  54.    for(var i =0;i<imageInfoList.length;i++){
  55.     totalImageCount++;
  56.     totalImageArea+=imageInfoList[i]["imageArea"];
  57.    }
  58.    console.log("总图片数:"+totalImageCount);
  59.    console.log("总图片面积:"+totalImageArea);
  60.     //获取文件夹下的所有文件
  61.     // getFiles.getFileList("./");
复制代码
要下载https://github.com/NorgannasAddOns/node-imageinfo  库,直接扔到文件夹下运行就好
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-20 09:03 , Processed in 0.090582 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表