nodejs 第三方库 exiftool-vendored

exiftool-vendored 是一款可以帮助你快捷修改图片信息的第三方库。如果你想要批量修改图片信息的话,那么它是一个不错的选择。


1.导入第三方库

在控制台中执行下面代码即可。

npm install exiftool-vendored --save

2.获取信息

这里给出例子。

const { exiftool } = require('exiftool-vendored');

( async ()=>{
	const url=" The url of your image. ";
	const tags=await exiftool.read(url);
	exiftool.end();
	console.log(tags);
	return;
} )();

注意代码最后一定要有 exiftool.end() 这一语句,否则程序不会自己结束运行。


3.修改信息

这里以修改 FileName 属性为例。

const { exiftool } = require('exiftool-vendored');

( async ()=>{
	const url=" The url of your image. ";
	const config={"FileName":"NewFile.jpg"};
	await exiftool.write(url,config);
	exiftool.end();
	return;
} )();

如果需要修改其他的属性,可以根据查询数据得到的结果进行定向修改。

如果是要修改时间类型的数据的话,需要导入一个新类叫 ExifDateTime ,示例如下。

const { ExifDateTime } = require('exiftool-vendored');

const now=new Date();
const config=new ExifDateTime(
	now.getFullYear(), // year
	now.getMonth()+1, // month
	now.getDate(), // day
	now.getHours(), // hour
	now.getMinutes(), // minute
	now.getSeconds(), // second
	undefined, // millisecond
	undefined, // tzoffsetMinutes
	now.toLocaleString().replaceAll('/',':'), // rawValue 格式:YYYY:MM:DD HH:MM:SS
	undefined, // zoneName
	false, // inferredZone
);

在执行完 exiftool.write() 之后,如果使用的是默认选项,则会出现一个新文件,代表的是你的 修改前的文件。若不需要这个文件,就可以在执行时加入选项 -overwrite_original

示例:

await exiftool.write(url,{"DateTimeOriginal":config},['-overwrite_original']);

相关推荐

  1. nodejs exiftool-vendored

    2024-06-10 01:46:03       32 阅读
  2. python

    2024-06-10 01:46:03       35 阅读
  3. 【云备份】

    2024-06-10 01:46:03       58 阅读
  4. 【Python--OpenCV】随笔

    2024-06-10 01:46:03       64 阅读
  5. Python安装出错

    2024-06-10 01:46:03       59 阅读
  6. kotlin记录

    2024-06-10 01:46:03       51 阅读
  7. Rust 常用的

    2024-06-10 01:46:03       81 阅读
  8. 鸿蒙使用SO

    2024-06-10 01:46:03       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 01:46:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 01:46:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 01:46:03       87 阅读
  4. Python语言-面向对象

    2024-06-10 01:46:03       96 阅读

热门阅读

  1. C++中实现一个泄漏检测工具

    2024-06-10 01:46:03       32 阅读
  2. ubuntu远程控制软件todesk安装及网络连接问题解决

    2024-06-10 01:46:03       30 阅读
  3. C++,观察者模式,模拟Qt的信号和槽机制

    2024-06-10 01:46:03       36 阅读
  4. 在ADG只读备库使用数据泵导出数据

    2024-06-10 01:46:03       33 阅读
  5. Android基础-AIDL的实现

    2024-06-10 01:46:03       32 阅读
  6. Hadoop集群安装

    2024-06-10 01:46:03       25 阅读
  7. 1731. 每位经理的下属员工数量

    2024-06-10 01:46:03       29 阅读
  8. btstack协议栈实战篇--GAP LE Advertisements Scanner

    2024-06-10 01:46:03       29 阅读