使用节点批量转换整个文件目录

问题描述

我有一个项目,需要将大量 .png 文件批量转换为 .jpg,并对压缩质量进行一些控制。我找到了一个使用节点模块 png-to-jpeg 的脚本,它可以完美地处理单个文件

const fs = require("fs");
const pngToJpeg = require('png-to-jpeg');
 
let buffer = fs.readFileSync("input/1.png");
pngToJpeg({quality: 70})(buffer)
.then(output => fs.writeFileSync("output/1.jpg",output));

然而,这太麻烦了,无法单独完成——我需要一次转换数百个文件。我希望有一些通配解决方案,例如:

let buffer = fs.readFileSync("input/*.png");
pngToJpeg({quality: 70})(buffer)
.then(output => fs.writeFileSync("output/*.jpg",output));

虽然这当然不起作用,我也没有尝试遍历所有文件,或使用节点模块 glob。感谢此处提供的任何指导。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)