确定内存中的图像

Determine image in memory

我想确定我拥有的(已下载的)缓冲区是否为图像文件,而不将其保存到磁盘。我查了一下,发现:

  1. imghdr 只能对文件执行此操作。
  2. python-magic 可以给我文件类型,但我需要将它映射到图像类型。

有没有更好的方法?

根据 the documentation,您可以通过字节流(您应该能够从缓冲区中获取)imghdr 识别文件类型

import imghdr
imghdr.what('', byte_stream)

如果您提供第二个参数,文件名将被忽略。