前端小工具:批量修改图片信息

news/2025/1/13 7:35:48/

前端小工具一:批量修改文件夹里面的图片名称

步骤:

1.安装nodejs。

2.根据需要修改editFileName(filePath, formatName)函数的参数,也可以不改,直接将renameFile.js和img文件夹放在同一个目录下。

3.在renameFile.js目录下开启终端,在终端运行node renameFile.js即可。

此功能适合批量按递增规则、批量添加文件名称后缀等来修改图片名称。

renameFile.js:

// 导入node文件系统模块(fs)
var fs = require("fs");
// 这里path是你要读取哪一个目录下的所有文件,如'./img',此时img放在js的同一级目录
var filePath = './img';
var formatName = 'png';
editFileName(filePath, formatName); //将img里面的图片重新命名为1.png 2.png/*** * @param {*} path 文件夹路径 如'./img'* @param {*} format */
function editFileName(path, format) {fs.readdir(path, function (err, files) {//files是名称数组,存的是文件夹里面所有的文件名字比如[xx.png]files.forEach(function (filename, index) {//运用正则表达式替换oldPath中不想要的部分var oldPath = path + '/' + filename,newPath = path + '/' + (index + 1 - 0) + '.' + format;// fs.rename(oldPath, newPath, callback) fs.rename(oldPath, newPath, function (err) {if (!err) {console.log(filename + '副本替换成功!')}})})})
}

img原文件夹里面的图片:

 renameFile.js目录下开启终端,在终端运行node renameFile.js,,img文件里面的图片:

前端小工具二:批量修改文件夹里面的图片尺寸

步骤:

1.安装nodejs。

2.安装sharp,运行npm install sharp。

3.将resizeFile.js和img文件夹放在同一个目录下,并在同一目录下创建outputImg文件夹(必须创建,如果不创建会报错)。

4.根据需要的尺寸,修改imageSize=[width,height],此案例里面是400*400的尺寸。

5.在resizeFile.js目录下开启终端,在终端运行node renameFile.js即可。

此功能适合批量修改图片的宽高尺寸。

renameFile.js:

const fs = require('fs');
const sharp = require('sharp');const inputFolder = './img/';
const outputFolder = './outputImg/';
const imageSize = [400, 400];
fs.readdir(inputFolder, (err, files) => {if (err) console.log(err);files.forEach(file => {console.log(file)sharp(inputFolder + file).resize(imageSize[0], imageSize[1]).toFile(outputFolder + file, (err, info) => {if (err) {console.log(err);};console.log(info);//info里面包含图片的信息// {//     format: 'png',//     width: 400,//     height: 400,//     channels: 4,//     premultiplied: true,//     size: 9466// }});});
});

运行node renameFile.js后,outputImg文件夹里面会出现我们需要的尺寸的图片。


http://www.ppmy.cn/news/85098.html

相关文章

网安面试只要掌握这十点技巧,绝对轻轻松松吊打面试官

结合工作经验,在这里笔者给企业网管员提供一些保障企业网络安全的建议,帮助他们用以抵御网络入侵、恶意软件和垃圾邮件。 定义用户完成相关任务的恰当权限 拥有管理员权限的用户也就拥有执行破坏系统的活动能力,例如: ・偶然对系…

Android 14 又来了?别扶!抬起我来吧!

Android 14 又来了?别扶!抬起我来吧! 大家好,好久不见,从去年底写完年终总结之后就再也没有更新过文章,之前最多也就间隔一两个月时间,但这回间隔时间确实有点长,基本快半年了&…

阿里云手动创建Nginx-Ingress

阿里云相关文档 1、在ACK管理控制台点击如下 应用市场–>筛选(以ack-ingress-nginx-v1为例)–>点击安装–>一键部署–>自己定义集群、命名空间以及ingress名称 1.20以下集群选中ack-ingress-nginx。 1.20及以上集群选中ack-ingress-nginx-v1。 应用市场 筛选…

[Vue2] Vue2的12种组件通信

Vue2.x 组件通信共有12种 props$emit / v-on.syncv-modelref$children / $parent$attrs / $listenersprovide / injectEventBusVuex$rootslot 父子组件通信可以用 props $emit / v-on $attrs / $listeners ref .sync v-model $children / $parent 兄弟组件通信可以用 Even…

神马网络——IP地址

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。个人主页:小李会科技的…

数据库管理-第七十七期 再探分布式(20230523)

数据库管理 2023-05-23 第七十七期 再探分布式1 单机分布式2 分布式改造3 尝试改造一个订单系统3.1 表类型和分片键选择3.2 扩展分片3.3 业务扩展 总结 第七十七期 再探分布式 上一次系统探讨分布式数据库还是在第三十六期,经过大半年的“进步”加上中间参加了不少…

连锁管理系统有哪些功能?如何选择实用的连锁管理系统?

传统门店管理系统有很多弊端,各种销售数据不能实时同步、沟通效率低、分店管理困难,库存混乱...... 一套合适的连锁管理系统,能够有效解决多门店之间的管理沟通难题,总店可以随时随地使用手机掌控分店各种事项,多门店之…

Linux PM2: 细致全面的讲解

前言 在现代的互联网应用开发中,我们通常会面临一些常见的问题,比如如何管理进程、如何保证进程的高可用性等。为了解决这些问题,我们需要使用一些工具来帮助我们管理进程。其中,PM2 是一个非常好用的进程管理工具,它…