📅  最后修改于: 2023-12-03 14:48:04.906000             🧑  作者: Mango
在 TypeScript 中,我们可以通过读取 Base64 字符串的前几个字符来获取其 MIME 类型。以下是一个示例函数来进行此操作:
function getMimeTypeFromBase64(base64String: string): string | undefined {
const prefix = base64String.slice(0, 20);
switch (true) {
case /^data:image\/jpeg;base64,/.test(prefix):
return 'image/jpeg';
case /^data:image\/png;base64,/.test(prefix):
return 'image/png';
case /^data:image\/gif;base64,/.test(prefix):
return 'image/gif';
case /^data:application\/pdf;base64,/.test(prefix):
return 'application/pdf';
// Add more MIME types as needed
default:
return undefined;
}
}
此函数将从 Base64 字符串的前20个字符中提取前缀。然后,它将基于这个前缀,使用一个 switch
语句来检测该字符串是否属于特定 MIME 类型。如果是,则函数将返回该 MIME 类型的字符串表示,否则返回 undefined
。
使用示例:
const base64String = 'data:image/png;base64,iVBORw0KGg...'; // 假设这是一个 Base64 图像数据
const mimeType = getMimeTypeFromBase64(base64String);
console.log('MIME type:', mimeType); // 'image/png'
请注意,此函数只适用于包含前缀的 Base64 字符串(例如,使用 data:image/png;base64,
前缀的图像数据)。如果您的 Base64 字符串不包含前缀,则此函数将无法确定其 MIME 类型。