Skip to content Skip to sidebar Skip to footer

How To Python Mimetypes.guess_type From A File-like Object

>>> mimetypes.guess_type('picture.jpg') ('image/jpeg', None) Now I have a file-like object, (eg. stingIO), which content is image's data How can i detect the mimetypes fr

Solution 1:

The python mimetype standard module maps filenames to mime-types and vice versa. To use it, you'll need a filename or a mime-type, in which case it'll give you back a possible file extension.

It won't/doesn't determine the mime-type based on a file's contents. You need another type of tool to do that. Libmagic, the library behind the unix file command, is one of those tools. The filemagic module (https://pypi.python.org/pypi/filemagic/1.6) is a python interface to libmagic.

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()

Solution 2:

>>>import mimetypes>>>print(mimetypes.MimeTypes().guess_type('my_file.txt')[0])
text/plain

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

Solution 3:

def upload_file():
        if request.method == 'POST':
            f = request.files['file']
            mime_type = f.content_type

Post a Comment for "How To Python Mimetypes.guess_type From A File-like Object"