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 相关文章推荐
在线游戏大家来找茬II
Sep 30 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
Jun 20 Javascript
jquery+json实现动态商品内容展示的方法
Jan 14 Javascript
老生常谈Javascript中的原型和this指针
Oct 09 Javascript
js数组操作方法总结(必看篇)
Nov 22 Javascript
vue2组件实现懒加载浅析
Mar 29 Javascript
微信小程序实现文字跑马灯效果
May 26 Javascript
JavaScript正则表达式验证登录实例
Mar 18 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
Jul 22 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
vue3中的组件间通信
Mar 31 Vue.js
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操作数组的一些函数整理介绍
2011/07/17 PHP
微信支付扫码支付php版
2016/07/22 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
python实现反转部分单向链表
2018/09/27 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
单位刻章介绍信范文
2014/01/11 职场文书
班级聚会策划书
2014/01/16 职场文书
致全体运动员广播稿
2014/02/01 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
大学生见习报告范文
2014/11/03 职场文书
导游词欢迎词
2015/02/02 职场文书
外贸采购员岗位职责
2015/04/03 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸