js获取base64图片的后缀
在JavaScript中,获取base64图片的后缀可以通过以下步骤实现:
- 解析base64图片数据:使用
atob()函数可以将base64编码的字符串解码为原始的二进制数据。
var base64Image = "data:image/png;base64,iVBORw0KG...";
var imageData = atob(base64Image.split(',')[1]);
- 读取图片后几个字节的数据:根据不同的图片格式,后几个字节的数据可以用于确定图片的后缀。以下是一些常见的图片格式和对应的后缀字节数:
- PNG格式:后四个字节为"PNG"的ASCII码,即 [137, 80, 78, 71]。
- JPEG格式:后两个字节为0xFF和0xD8。
- GIF格式:后六个字节为"GIF89a"或"GIF87a"。
var suffix = "";
var bytes = new Uint8Array(imageData);
if (bytes[0] === 0x47 && bytes[1] === 0x49 && bytes[2] === 0x46) {
// GIF格式
suffix = ".gif";
} else if (bytes[0] === 0xFF && bytes[1] === 0xD8) {
// JPEG格式
suffix = ".jpg";
} else if (bytes[0] === 0x89 && bytes[1] === 0x50 && bytes[2] === 0x4E && bytes[3] === 0x47) {
// PNG格式
suffix = ".png";
}
注意:这种方法只是通过读取图片的前几个字节来判断图片的格式,可能存在一定的误判情况。对于一些特殊的图片格式,可能需要更复杂的处理方式
原文地址: http://www.cveoy.top/t/topic/hNAs 著作权归作者所有。请勿转载和采集!