如何从类文件对象 python mimetypes.guess_type

how to python mimetypes.guess_type from a file-like object

>>> mimetypes.guess_type('picture.jpg')
('image/jpeg', None)

现在我有一个类似文件的对象,(例如 stingIO), 哪些内容是图像的数据

如何从类文件对象中检测 mimetypes

python mimetype 标准模块将文件名映射到 mime 类型,反之亦然。要使用它,您需要一个文件名或 MIME 类型,在这种情况下,它会返回一个可能的文件扩展名。

它不会t/doesn不会根据文件内容确定 MIME 类型。你需要另一种工具来做到这一点。 Libmagic 是 unix 文件命令背后的库,是这些工具之一。 filemagic 模块 (https://pypi.python.org/pypi/filemagic/1.6) 是 libmagic 的 python 接口。

import urllib2
import magic

img_data = urllib2.urlopen('https://www.google.com/images/srpr/logo11w.png').read()
# You can add flags 
# magic.Magic(flags=magic.MAGIC_MIME_TYPE) for take "/image/png"
m = magic.Magic()
print m.id_buffer(img_data)
m.close()
def upload_file():
        if request.method == 'POST':
            f = request.files['file']
            mime_type = f.content_type
>>> import mimetypes
>>> print(mimetypes.MimeTypes().guess_type('my_file.txt')[0])
text/plain

参考:https://www.tutorialspoint.com/How-to-find-the-mime-type-of-a-file-in-Python