HEIC magic number

binary dataからHEIF/HEIC形式かどうか判定する方法(memo)

背景

S3からgetObjectした画像がReactで表示されなかった heic2anyというlibraryで画像でheicをに設定可能だが、処理が重いので、APIからcontentTypeを適切に渡してあげたかった (無理やりjpgにrenameするとS3上ではcontentType: image/jpegになり得るので)

結論

HexStringで判定

ftypheicmif1miaf" or "ftypmif1mif1heic

ネットで拾った.heicとiPhoneで撮った.heic画像で異ったので startWith: "ftyp" contains: "heic"

という条件で判定 codeはそのうちあげる予定