首页 > 代码库 > Node.js读写文件之批量替换图片
Node.js读写文件之批量替换图片
问题:文件夹A中有大量图片文件,需要用另外一个图片替换掉A中图片,但是命名保持不变。
手工的做法如下:
1)浏览器打开图片->2)另存为->3)目标文件夹->4)找到一个图片->5)替换->6)确定
然后,重复步骤2)和之后的步骤。不小心会漏掉或重复。
这么麻烦,使用node.js来处理改如何呢?代码如下:
1 var fs=require(‘fs‘), 2 cp=require(‘child_process‘); 3 var url=‘Moriarty.jpg‘ 4 var rs=fs.readFileSync(url,{encoding:‘hex‘,flag:‘r‘}) 5 var write=(e)=>{ 6 fs.writeFileSync(e,rs,{encoding:‘hex‘,flag:‘w‘}) 7 } 8 var buf_files=cp.execSync(‘ls 160906/*.jpg‘) 9 arr_files=buf_files.toString().split(/\s+/).slice(0,files.length-1)10 arr_files.forEach(write)
也可以用glob和fs模块来完成:代码如下:
1 var glob=require(‘glob‘), 2 fs=require(‘fs‘) 3 var url=‘Moriarty.jpg‘ 4 var rs=fs.readFileSync(url,{encoding:‘hex‘,flag:‘r‘}) 5 var write=(e)=>{ 6 fs.writeFileSync(e,rs,{encoding:‘hex‘,flag:‘w‘}) 7 } 8 glob(‘160906/*.jpg‘,(err,files)=>{ 9 files.forEach(write)10 })
效果如下图:
文件原图片:
文件新图片:(图片文件名未变)
声明:以上内容仅供学习交流。
Node.js读写文件之批量替换图片
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。