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 相关文章推荐
用nodejs写的一个简单项目打包工具
May 11 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
Nodejs学习笔记之NET模块
Jan 13 NodeJs
NodeJS学习笔记之MongoDB模块
Jan 13 NodeJs
Nodejs学习笔记之测试驱动
Apr 16 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
Nodejs回调加超时限制两种实现方法
Jun 09 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
解决Nodejs全局安装模块后找不到命令的问题
May 15 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 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
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
PHP精确计算功能示例
2016/11/29 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
event.srcElement 用法笔记e.target
2009/12/18 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
2016/06/23 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python argv用法详解
2016/01/08 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
公司担保书范文
2014/05/21 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
维稳工作承诺书
2015/01/20 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python