画像のデータしかない状態で,画像のタイプ(JPEGとかGIFとかPNGとか)を判別する方法のメモ。
画像のヘッダを調べるといい。画像のタイプごとに,ヘッダにタイプが埋め込まれているので,判別に利用する。
- JPEG : 7バイト目からが'JFIF'
- GIF : 先頭が'GIF'
- PNG : 2バイト目からが'PNG'
Pythonの関数で書くとこんな感じ。
def detect_imagetype(image): if image[6:10]=='JFIF': return 'image/jpeg' if image[0:3]=='GIF': return 'image/gif' if image[1:4]=='PNG': return 'image/png'
フォームからPOSTされた画像のタイプを判別したいときに使ったりできるはず。お試しあれ:-)。