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 相关文章推荐
Ajax::prototype 源码解读
Jan 22 Javascript
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
基于JQuery的Select选择框的华丽变身
Aug 23 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
May 15 Javascript
jquery实现对联广告的方法
Feb 05 Javascript
jQuery检查元素存在性(推荐)
Sep 17 Javascript
原生js实现返回顶部缓冲效果
Jan 18 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
May 08 Javascript
vuejs router history 配置到iis的方法
Sep 20 Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
Apr 28 Javascript
详解JavaScript 高阶函数
Sep 14 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中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
[01:32]dota2拉比克至宝(222)
2018/12/20 DOTA
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
abstract class和interface有什么区别?
2012/01/03 面试题
葡萄牙语专业个人求职信
2013/12/10 职场文书
中专三年学习的个人自我评价
2013/12/12 职场文书
企业业务员岗位职责
2014/03/14 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
营业员岗位职责
2015/02/11 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
校车安全管理责任书
2015/05/11 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
python中如何对多变量连续赋值
2021/06/03 Python