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的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
Nodejs学习笔记之Stream模块
Jan 13 NodeJs
Nodejs从有门道无门菜鸟起飞必看教程
Jul 20 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
详解nodejs微信公众号开发——1.接入微信公众号
Apr 10 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
Nodejs中Express 常用中间件 body-parser 实现解析
May 22 NodeJs
nodejs acl的用户权限管理详解
Mar 14 NodeJs
nodejs简单访问及操作mysql数据库的方法示例
Mar 15 NodeJs
NodeJS 实现多语言的示例代码
Sep 11 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 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
PHP 程序员应该使用的10个组件
2009/10/31 PHP
php处理json时中文问题的解决方法
2011/04/12 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
php生成rss类用法实例
2015/04/14 PHP
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
浅谈原型对象的常用开发模式
2017/07/22 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
python通过smpt发送邮件的方法
2015/04/30 Python
django框架如何集成celery进行开发
2017/05/24 Python
python中reload(module)的用法示例详解
2017/09/15 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
如何用Python 加密文件
2020/09/10 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
德购商城:德国进口直邮商城
2017/06/13 全球购物
医校毕业生自我鉴定
2014/01/25 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
关于安全的广播稿
2014/10/23 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫