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 Post请求报socket hang up错误的解决办法
Sep 25 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
详解Nodejs的timers模块
Dec 22 NodeJs
详解nodeJS中读写文件方法的区别
Mar 06 NodeJs
nodejs批量下载图片的实现方法
May 19 NodeJs
NodeJS爬虫实例之糗事百科
Dec 14 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
Nodejs模块的调用操作实例分析
Dec 25 NodeJs
NodeJs crypto加密制作token的实现代码
Nov 15 NodeJs
nodejs处理tcp连接的核心流程
Feb 26 NodeJs
ubuntu系统下使用pm2设置nodejs开机自启动的方法
May 12 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
discuz的php防止sql注入函数
2011/01/17 PHP
PHP cdata 处理(详细介绍)
2013/07/05 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
JS实现的DIV块来回滚动效果示例
2017/02/07 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
js中this对象用法分析
2018/01/05 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
python学习入门细节知识点
2018/03/29 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
详解Anaconda 的安装教程
2020/09/23 Python
Python排序函数的使用方法详解
2020/12/11 Python
基于Python实现天天酷跑功能
2021/01/06 Python
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
污水厂厂长岗位职责
2014/01/04 职场文书
大学生关于奋斗的演讲稿
2014/01/09 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
幼儿教师培训感言
2014/03/08 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang