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

 更新时间:2019-06-25 03:00:36   作者:佚名   我要评论(0)

本文实例讲述了nodejs实现获取本地文件夹下图片信息功能。分享给大家供大家参考,具体如下:
新建一个file.js
项目目录如下



//获取项目工程里的图片
var f

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

新建一个file.js

项目目录如下

//获取项目工程里的图片
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/"));

打印结果如下:

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

您可能感兴趣的文章:

  • nodejs实现遍历文件夹并统计文件大小
  • Node.js 文件夹目录结构创建实例代码
  • Node.js查找当前目录下文件夹实例代码
  • Node.js 使用递归实现遍历文件夹中所有文件
  • Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
  • nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
  • Nodejs实现多文件夹文件同步
  • 对node通过fs模块判断文件是否是文件夹的实例讲解
  • 利用node 判断打开的是文件 还是 文件夹的实例
  • Node.js 去掉种子(torrent)文件里的邪恶信息
  • node.js中fs文件系统目录操作与文件信息操作

相关文章

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

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

    本文实例讲述了nodejs实现获取本地文件夹下图片信息功能。分享给大家供大家参考,具体如下: 新建一个file.js 项目目录如下 //获取项目工程里的图片 var f
    2019-06-25
  • React组件对子组件children进行加强的方法

    React组件对子组件children进行加强的方法

    问题 如何对组件的children进行加强,如:添加属性、绑定事件,而不是使用<div>{this.props.children}</div>在<div>上进行处理。 前车之鉴 今天写组件遇
    2019-06-25
  • JS利用prototype给类添加方法操作详解

    JS利用prototype给类添加方法操作详解

    本文实例讲述了JS利用prototype给类添加方法操作。分享给大家供大家参考,具体如下: 1.如何定义一个简单的类? 以下是一个没有任何属性和方法的类的定义:
    2019-06-25
  • 简单了解JavaScript中常见的反模式

    简单了解JavaScript中常见的反模式

    前言 反模式 是指对反复出现的设计问题的常见的无力而低效的设计模式,俗话说就是重蹈覆辙。 这篇文章描述了 JavaScript 中常见的一些反模式,以及避免它们的
    2019-06-25
  • JavaScript学习教程之cookie与webstorage

    JavaScript学习教程之cookie与webstorage

    cookie 由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,服务器单从网络连接上是没有办法知道用户身份的
    2019-06-25
  • MySQL数据库安装和Navicat for MySQL配合使用教程

    MySQL数据库安装和Navicat for MySQL配合使用教程

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。 MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好
    2019-06-22
  • PHP判断函数是否被定义的方法

    PHP判断函数是否被定义的方法

    本教程将介绍判断函数是否被定义 新建一个246.php,如图所示: 输入php网页的结构(<&#63;php&#63;>),如图所示: 声明PHP与浏览器交互的文件类型和编码,如
    2019-06-22
  • vs2015中mysql.h文件打不开的解决办法

    vs2015中mysql.h文件打不开的解决办法

    准备学习VS2015环境下的数据库编程,在网上找了个实例,链接如下:VS2017调用MySQL 8.0的方法 VS下建立工程: 问题出现:#include<mysql.h> 报错(无法打开
    2019-06-22
  • 通过图带你深入了解vue的响应式原理

    通过图带你深入了解vue的响应式原理

    前言 如果自己去实现数据驱动的模式,如何解决一下几个问题: 通过什么手段去知道我的数据变了? 通过什么东西去同步更新视图? 数据劫持——obvser
    2019-06-22
  • 微信小程序开发注意指南和优化实践(小结)

    微信小程序开发注意指南和优化实践(小结)

    前言 转眼间已经参与过我厂好几个小程序的开发了,下面本妹子将开发中的那些注意点和各位小伙伴们分享下,妥妥的干货一枚。 一、WXML 不要换行写,有空格不行
    2019-06-22

最新评论