Node.js读写文件之批量替换图片的实现方法


Posted in Javascript onSeptember 07, 2016

问题:文件夹A中有大量图片文件,需要用另外一个图片替换掉A中图片,但是命名保持不变。

手工的做法如下:

1)浏览器打开图片->2)另存为->3)目标文件夹->4)找到一个图片->5)替换->6)确定

然后,重复步骤2)和之后的步骤。不小心会漏掉或重复。

Node.js读写文件之批量替换图片的实现方法

这么麻烦,使用node.js来处理改如何呢?代码如下:

var fs=require('fs'), 
  cp=require('child_process');
var url='Moriarty.jpg'
var rs=fs.readFileSync(url,{encoding:'hex',flag:'r'})
var write=(e)=>{ 
 fs.writeFileSync(e,rs,{encoding:'hex',flag:'w'})  
 }
var buf_files=cp.execSync('ls 160906/*.jpg')
var arr_files=buf_files.toString().trim().split(/\s+/)
arr_files.forEach(write)

也可以用glob和fs模块来完成:代码如下:

var glob=require('glob'),
 fs=require('fs')
var url='Moriarty.jpg'
var rs=fs.readFileSync(url,{encoding:'hex',flag:'r'})
var write=(e)=>{ 
 fs.writeFileSync(e,rs,{encoding:'hex',flag:'w'})  
 }
glob('160906/*.jpg',(err,files)=>{
  files.forEach(write)
 })

效果如下图:

 文件原图片:

 Node.js读写文件之批量替换图片的实现方法

文件新图片:(图片文件名未变)

Node.js读写文件之批量替换图片的实现方法

以上这篇Node.js读写文件之批量替换图片的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS链式调用的实现方法
Mar 07 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 Javascript
通过location.replace禁止浏览器后退防止重复提交
Sep 04 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
Bootstrap每天必学之导航
Nov 26 Javascript
微信小程序 开发指南详解
Sep 27 Javascript
详解vue.js之props传递参数
Dec 12 Javascript
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 Javascript
浅谈vuex中store的命名空间
Nov 08 Javascript
JavaScript实现好看的跟随彩色气泡效果
Feb 06 Javascript
jQuery实现底部浮动窗口效果
Sep 07 #Javascript
聊一聊Vue.js过渡效果
Sep 07 #Javascript
BootStrap中的表单大全
Sep 07 #Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 #Javascript
JavaScript 函数模式详解及示例
Sep 07 #Javascript
jquery 属性选择器(匹配具有指定属性的元素)
Sep 06 #Javascript
jquery validate表单验证插件
Sep 06 #Javascript
You might like
php结合curl实现多线程抓取
2015/07/09 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
JavaScript类库D
2010/10/24 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
2015/12/08 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
Python 列表理解及使用方法
2017/10/27 Python
Python 读写文件的操作代码
2018/09/20 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
python的json包位置及用法总结
2020/06/21 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
采购部经理岗位职责
2014/02/10 职场文书
教师求职自荐书
2014/06/14 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
房屋出售授权委托书
2014/10/12 职场文书
2014年库房工作总结
2014/11/26 职场文书
2015年学生会纪检部工作总结
2015/03/31 职场文书
单位考核鉴定意见
2015/06/05 职场文书