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 相关文章推荐
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
May 13 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
Jul 20 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
Dom 学习总结以及实例的使用介绍
Apr 24 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
Jan 31 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
Mar 10 Javascript
D3.js实现饼状图的方法详解
Sep 21 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
Jan 04 Javascript
对vue中v-on绑定自定事件的实例讲解
Sep 06 Javascript
Vue实现商品详情页的评价列表功能
Sep 04 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
vue 动态创建组件的两种方法
Dec 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
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
jquery 获取json数据实现代码
2009/04/27 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
python基础教程之元组操作使用详解
2014/03/25 Python
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
解析Python3中的Import
2019/10/13 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
大韩航空官方网站:Korean Air
2017/10/25 全球购物
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
教师实习自我鉴定
2013/12/18 职场文书
工厂仓管员岗位职责
2014/01/01 职场文书
优秀共产党员先进事迹
2014/01/27 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
孔子观后感
2015/06/08 职场文书
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers