[Node.js] image-sizeライブラリでJPGファイルを読み込もうとするとエラーが出る場合

コード

import * as ImageSize from 'image-size'

const path = 'ファイルのパス'
const imageInfo = ImageSize.imageSize(path)

エラーの内容

error TypeError: Corrupt JPG, exceeded buffer limits

JPGが破損、またはサイズオーバーとのこと。

原因

JPGの色空間表現の方式がCMYKだと、ファイル情報が取得できない。

対策

Photoshop等でRGB方式に変換すると、正常に取得できるようになる。
または、別のライブラリを検討する。
もしくは、画像サイズの取得程度であれば素のJavaScriptでimgオブジェクトを作成することで取得可能。

参考