📜  typescript 从 base64 字符串中获取 mime 类型 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:48:04.906000             🧑  作者: Mango

TypeScript - 从 Base64 字符串获取 MIME 类型

在 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 类型。