js 根据fromDir获取其中所有的jpg或者 png图片然后使用imagemagic压缩完成之后写入destDir
以下是一个使用Node.js编写的示例代码,用于根据fromDir获取其中所有的jpg或png图片,然后使用imagemagick库压缩,并将压缩后的图片写入destDir目录中:
const fs = require('fs');
const path = require('path');
const { exec } = require('child_process');
const fromDir = './path/to/fromDir';
const destDir = './path/to/destDir';
// 检查目标目录是否存在,如果不存在则创建
if (!fs.existsSync(destDir)) {
fs.mkdirSync(destDir);
}
// 获取fromDir目录中所有的文件名
fs.readdir(fromDir, (err, files) => {
if (err) {
console.error('Error reading directory:', err);
return;
}
// 遍历所有文件
files.forEach((file) => {
const filePath = path.join(fromDir, file);
// 检查文件是否为jpg或png图片
if (file.match(/\.(jpg|png)$/)) {
// 使用imagemagick压缩图片
const destFilePath = path.join(destDir, file);
exec(`convert ${filePath} -resize 50% ${destFilePath}`, (error) => {
if (error) {
console.error(`Error compressing image ${file}:`, error);
} else {
console.log(`Image ${file} compressed successfully.`);
}
});
}
});
});
请确保已经安装了imagemagick库(可通过运行npm install imagemagick进行安装),并将fromDir和destDir变量替换为实际的目录路径。运行此脚本后,将会遍历fromDir目录中的所有jpg和png图片文件,使用imagemagick库对其进行50%大小的压缩,并将压缩后的图片文件写入destDir目录中
原文地址: https://www.cveoy.top/t/topic/i0zB 著作权归作者所有。请勿转载和采集!