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 相关文章推荐
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 Javascript
Jquery 自定义动画概述及示例
Mar 29 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
深入理解Javascript动态方法调用与参数修改的问题
Dec 10 Javascript
使用CSS样式position:fixed水平滚动的方法
Feb 19 Javascript
js 创建对象 经典模式全面了解
Aug 16 Javascript
Vue.js组件tree实现无限级树形菜单
Dec 02 Javascript
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 Javascript
Vuejs实现购物车功能
Nov 05 Javascript
浅析vue-router中params和query的区别
Dec 24 Javascript
JS中this的4种绑定规则详解
Feb 04 Javascript
小程序实现侧滑删除功能
Jun 25 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
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
PHP统一页面编码避免乱码问题
2015/04/09 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
PHP中overload与override的区别
2017/02/13 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
浏览器常用高宽的jquery插件
2011/02/24 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
浅析Bootstrap表格的使用
2016/06/23 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
JS正则表达式验证密码强度
2020/03/18 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
学python最电脑配置有要求么
2020/07/05 Python
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
单位实习工作证明怎么写
2014/11/02 职场文书
springboot中的pom文件 project报错问题
2022/01/18 Java/Android
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android