likes
comments
collection

Node.js获取文件的mime类型

作者站长头像
站长
· 阅读数 533

在使用Node进行文件处理时我们经常会需要不同类型的文件进行不同的处理,并且对客户端进行对应的请求头返回,这里推荐两个个插件进行文件类型的快速获取文件类型。

1.mime

可以获取文件的mime-type用于请求头返回

    res.writeHead(200, {
        'Content-type': mime.getType(`public/a.webp`)// image/webp
    });
    res.write(chunk);

只需要引入插件,然后使用对应的函数传入文件路径就可以获取mime-type了

2.file-type

功能齐全,可以通过文件或者Buffer流来进行文件类型,并且不仅可以获取mime-type也可以获取文件后缀类型,并且使用Promise返回结果。

根据文件夹名称获取:

import {fileTypeFromFile,fileTypeFromBuffer} from 'file-type';

console.log(await fileTypeFromFile('fileNa.png'));
//=> {ext: 'png', mime: 'image/png'}

使用Buffer

import { fileTypeFromBuffer } from "file-type";
let buffer = ctx.file.buffer; //文件的Buffer
console.log(await fileTypeFromBuffer(buffer));
//=> {ext: 'png', mime: 'image/png'}

并且官网上给出了使用方法,也是通过传递文件路径或者Buffer来获取类型,同时支持Promise

Node.js获取文件的mime类型