Node.js讀寫檔案之批量替換圖片的實現方法,node.js讀寫
問題:檔案夾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讀寫檔案之批量替換圖片的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。