Node.js读写文件之批量替换图片的实现方法
短信预约 -IT技能 免费直播动态提醒
问题:文件夹A中有大量图片文件,需要用另外一个图片替换掉A中图片,但是命名保持不变。
手工的做法如下:
1)浏览器打开图片->2)另存为->3)目标文件夹->4)找到一个图片->5)替换->6)确定
然后,重复步骤2)和之后的步骤。不小心会漏掉或重复。
这么麻烦,使用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读写文件之批量替换图片的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341