MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / detectImageMime

Function detectImageMime

xmsl/xmsl.ts:42–63  ·  view source on GitHub ↗
(buffer: Buffer)

Source from the content-addressed store, hash-verified

40const TGS_MIME = 'application/x-tgsticker';
41const WEBM_MIME = 'video/webm';
42
43// 通过文件头检测图片格式
44function detectImageMime(buffer: Buffer): string | null {
45 if (buffer.length < 4) return null;
46
47 // JPEG: FF D8 FF
48 if (buffer[0] === 0xFF && buffer[1] === 0xD8 && buffer[2] === 0xFF) {
49 return 'image/jpeg';
50 }
51 // PNG: 89 50 4E 47
52 if (buffer[0] === 0x89 && buffer[1] === 0x50 && buffer[2] === 0x4E && buffer[3] === 0x47) {
53 return 'image/png';
54 }
55 // GIF: 47 49 46 38
56 if (buffer[0] === 0x47 && buffer[1] === 0x49 && buffer[2] === 0x46 && buffer[3] === 0x38) {
57 return 'image/gif';
58 }
59 // WebP: 52 49 46 46 ... 57 45 42 50
60 if (buffer[0] === 0x52 && buffer[1] === 0x49 && buffer[2] === 0x46 && buffer[3] === 0x46 &&
61 buffer.length >= 12 && buffer[8] === 0x57 && buffer[9] === 0x45 && buffer[10] === 0x42 && buffer[11] === 0x50) {
62 return 'image/webp';
63 }
64 return null;
65}
66

Callers 1

extractMediaInfoMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected