已被阅读 82 次 | 文章分类:nodejs | 2024-10-17 23:47
判断一个图片是不是标准的jpg或者其他格式,可以使用简单的nodejs脚本去判断
1 以jpeg格式图片为例
标准的jpeg文件头前12个字节如下:
ff d8 ff e0 00 10 4a 46 49 46 00 01
👉 以FF D8开头
👉 APP0 标识:FF E0
👉 数据段长度标识:00 10
👉交换格式:4A 46 49 46 00
👉 主版本号:01
2 nodejs脚本
下面是nodejs脚本,复制执行即可
const fs = require('fs');
// 1 定义要读取的图片路径
const imagePath = '1.jpeg';
// 2 设置需要读取的字节数
const bufferSize = 12;
// 3 创建一个Buffer对象来存储文件头数据
const fileHeaderData = Buffer.alloc(bufferSize);
try {
// 4 打开文件并返回文件描述符
const fd = fs.openSync(imagePath, 'r');
console.log(fd)
// 从文件中读取指定长度的字节到fileHeaderData中
fs.readSync(fd, fileHeaderData, 0, bufferSize, null);
// 关闭文件
fs.closeSync(fd);
} catch (error) {
console.log(`无法读取文件 ${imagePath}:`, error);
}
console.log("文件头内容为:", fileHeaderData); // 文件头内容为: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01>
QQ:3410192267 | 技术支持 微信:popstarqqsmall
Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号