nodejs获取图片的文件头

已被阅读 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号