nodejs实现获取本地文件夹下图片信息功能示例


Posted in NodeJs onJune 22, 2019

本文实例讲述了nodejs实现获取本地文件夹下图片信息功能。分享给大家供大家参考,具体如下:

新建一个file.js

项目目录如下

nodejs实现获取本地文件夹下图片信息功能示例

//获取项目工程里的图片
var fs = require('fs');//引用文件系统模块
var image = require("imageinfo"); //引用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;
 }
};
//获取文件夹下的所有图片
var srclist=getFiles.getImageFiles("../../static/images/");
var srcNewList=[];
console.log(srclist);
srclist.forEach(function (item, index){
 console.log(item);
 if(item.split(".")[1]=='jpg'){
  srcNewList.push({'imsrc':item})
 }else{
  srcNewList.push({'videosrc':item})
 }
})
console.log(srcNewList)
//获取文件夹下的所有文件以及路径
// console.log(getFiles.getFileList("../../static/"));

打印结果如下:

nodejs实现获取本地文件夹下图片信息功能示例

希望本文所述对大家node.js程序设计有所帮助。

NodeJs 相关文章推荐
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 NodeJs
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
Jan 01 NodeJs
学习 NodeJS 第八天:Socket 通讯实例
Dec 21 NodeJs
Nodejs高扩展性的模板引擎 functmpl简介
Feb 13 NodeJs
详解nodejs操作mongodb数据库封装DB类
Apr 10 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
Nodejs下使用gm圆形裁剪并合成图片的示例
Feb 22 NodeJs
nodejs读取并去重excel文件
Apr 22 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 NodeJs
nodejs读取图片返回给浏览器显示
Jul 25 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 NodeJs
通过实例了解Nodejs模块系统及require机制
Jul 16 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 #NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 #NodeJs
NodeJs生成sitemap站点地图的方法示例
Jun 11 #NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 #NodeJs
Nodejs异步流程框架async的方法
Jun 07 #NodeJs
nodejs log4js 使用详解
May 31 #NodeJs
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
May 30 #NodeJs
You might like
Windows下的PHP5.0详解
2006/11/18 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
Python-基础-入门 简介
2014/08/09 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python3 pygame实现接小球游戏
2019/05/14 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
Python3如何判断三角形的类型
2020/04/12 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
遇到的Mysql的面试题
2014/06/29 面试题
光电信息专业应届生求职信
2013/10/07 职场文书
物流专业大学应届生求职信
2013/11/03 职场文书
车辆转让协议书
2014/04/15 职场文书
服装设计师求职信
2014/06/04 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
护士医德医风自我评价
2014/09/15 职场文书
英文商务邀请函范文
2015/01/31 职场文书
2015年助残日活动总结
2015/03/27 职场文书
南极大冒险观后感
2015/06/05 职场文书