file-typeでファイルのMIME Typeを取得する

概要

npmパッケージの file-type を利用して、ファイルのMIME Typeを取得します。

内容

  • パッケージのインストール
$ npm install file-type
  • ファイルから取得
const fileType = require('file-type')

(async () => {
  const ft = await fileType.fromFile('path/to/file')
  console.log(ft)
  // { ext: 'xxx', mime: 'xxx/xxx' }
})()
  • バッファから取得
const fs = require('fs')
const fileType = require('file-type')

(async () => {
  const ft = await fileType.fromBuffer(fs.readFileSync('path/to/file'))
  console.log(ft)
  // { ext: 'xxx', mime: 'xxx/xxx' }
})()
  • ストリームから取得
const fs = require('fs')
const fileType = require('file-type')

(async () => {
  const ft = await fileType.fromStream(fs.createReadStream('path/to/file'))
  console.log(ft)
  // { ext: 'xxx', mime: 'xxx/xxx' }
})()
  • URLから取得
const fileType = require('file-type')
// npm install node-fetch
const fetch = require('node-fetch')

(async () => {
  const res = fetch('https://placehold.jp/150x150.png')
  const ft = await fileType.fromStream(res.body)
  console.log(ft)
  // { ext: 'png', mime: 'image/png' }
})()

備考