Node.js讀寫文件之批量替換圖片的實(shí)現(xiàn)方法
問題:文件夾A中有大量圖片文件,需要用另外一個圖片替換掉A中圖片,但是命名保持不變。
手工的做法如下:
1)瀏覽器打開圖片->2)另存為->3)目標(biāo)文件夾->4)找到一個圖片->5)替換->6)確定
然后,重復(fù)步驟2)和之后的步驟。不小心會漏掉或重復(fù)。
這么麻煩,使用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讀寫文件之批量替換圖片的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nodejs監(jiān)控事件循環(huán)異常示例詳解
這篇文章主要給大家介紹了關(guān)于Nodejs監(jiān)控事件循環(huán)異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nodejs具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Windows系統(tǒng)下Node.js安裝以及環(huán)境配置的完美教程
相信對于很多關(guān)注javascript發(fā)展的同學(xué)來說,nodejs已經(jīng)不是一個陌生的詞眼,下面這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Node.js安裝以及環(huán)境配置的完美教程,需要的朋友可以參考下2022-06-06Node.js操作Firebird數(shù)據(jù)庫教程
這篇文章主要為大家分享了Node.js操作Firebird數(shù)據(jù)庫教程,思路清晰便于大家理解,感興趣的小伙伴們可以參考一下2016-03-03Express框架實(shí)現(xiàn)簡單攔截器功能示例
這篇文章主要介紹了Express框架實(shí)現(xiàn)簡單攔截器功能,結(jié)合實(shí)例形式分析了express框架攔截器相關(guān)功能與使用方法,需要的朋友可以參考下2023-05-05Node.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實(shí)例講解)
下面小編就為大家?guī)硪黄狽ode.js學(xué)習(xí)之TCP/IP數(shù)據(jù)通訊(實(shí)例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Electron調(diào)用外接攝像頭并拍照上傳實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Electron調(diào)用外接攝像頭并拍照上傳實(shí)例實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02深入學(xué)習(xí)nodejs中的async模塊的使用方法
本篇文章主要介紹了nodejs中的async模塊的使用方法,具有一定的參考價值,有興趣的可以了解一下2017-07-07