📜  在 Javascript 中获取 mimeType(1)

📅  最后修改于: 2023-12-03 15:07:41.058000             🧑  作者: Mango

在 Javascript 中获取 mimeType

在前端开发中,我们经常需要获取文件的MIME类型(Multipurpose Internet Mail Extensions),以便进行不同的处理。本篇文章将介绍在Javascript中获取MIME类型的几种方式。

方式一:使用文件后缀名进行匹配

Javascript中获取MIME类型的一种简单方式是使用文件后缀名进行匹配。代码如下:

const getFileMimetype = (filename) => {
  const extension = filename.split('.').pop();
  switch (extension) {
    case 'jpg':
    case 'jpeg':
      return 'image/jpeg';
    case 'png':
      return 'image/png';
    case 'gif':
      return 'image/gif';
    case 'svg':
      return 'image/svg+xml';
    case 'pdf':
      return 'application/pdf';
    default:
      return 'application/octet-stream';
  }
};

使用示例:

getFileMimetype('example.jpg'); // 返回 'image/jpeg'
方式二:使用File API

File API允许在Javascript中读取文件内容,从而获取文件的MIME类型。代码如下:

const getFileMimetype = (file) => {
  return file.type || 'application/octet-stream';
};

使用示例:

const file = new File(['hello world'], 'example.txt', {type: 'text/plain'});
getFileMimetype(file); // 返回 'text/plain'
方式三:使用第三方库

如果你使用的框架或库支持文件上传,那么它们可能会提供获取MIME类型的函数。例如,使用jQuery File Upload插件获取MIME类型的代码如下:

const getFileMimetype = (file) => {
  return file.type || (/\.\w+$/.exec(file.name) || [''])[0].toLowerCase();
};

使用示例:

const file = new File(['hello world'], 'example.txt', {type: 'text/plain'});
getFileMimetype(file); // 返回 'text/plain'

以上就是在Javascript中获取MIME类型的三种方式。根据自己的需求选择合适的方式即可。