70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import os
 | 
						|
 | 
						|
 | 
						|
def mime_content_type(filename):
 | 
						|
    """Get mime type
 | 
						|
    :param filename: str
 | 
						|
    :type filename: str
 | 
						|
    :rtype: str
 | 
						|
    """
 | 
						|
    mime_types = dict(
 | 
						|
        txt='text/plain',
 | 
						|
        htm='text/html',
 | 
						|
        html='text/html',
 | 
						|
        php='text/html',
 | 
						|
        css='text/css',
 | 
						|
        js='application/javascript',
 | 
						|
        json='application/json',
 | 
						|
        xml='application/xml',
 | 
						|
        swf='application/x-shockwave-flash',
 | 
						|
        flv='video/x-flv',
 | 
						|
 | 
						|
        # images
 | 
						|
        png='image/png',
 | 
						|
        jpe='image/jpeg',
 | 
						|
        jpeg='image/jpeg',
 | 
						|
        jpg='image/jpeg',
 | 
						|
        gif='image/gif',
 | 
						|
        bmp='image/bmp',
 | 
						|
        ico='image/vnd.microsoft.icon',
 | 
						|
        tiff='image/tiff',
 | 
						|
        tif='image/tiff',
 | 
						|
        svg='image/svg+xml',
 | 
						|
        svgz='image/svg+xml',
 | 
						|
 | 
						|
        # archives
 | 
						|
        zip='application/zip',
 | 
						|
        rar='application/x-rar-compressed',
 | 
						|
        exe='application/x-msdownload',
 | 
						|
        msi='application/x-msdownload',
 | 
						|
        cab='application/vnd.ms-cab-compressed',
 | 
						|
 | 
						|
        # audio/video
 | 
						|
        mp3='audio/mpeg',
 | 
						|
        ogg='audio/ogg',
 | 
						|
        qt='video/quicktime',
 | 
						|
        mov='video/quicktime',
 | 
						|
 | 
						|
        # adobe
 | 
						|
        pdf='application/pdf',
 | 
						|
        psd='image/vnd.adobe.photoshop',
 | 
						|
        ai='application/postscript',
 | 
						|
        eps='application/postscript',
 | 
						|
        ps='application/postscript',
 | 
						|
 | 
						|
        # ms office
 | 
						|
        doc='application/msword',
 | 
						|
        rtf='application/rtf',
 | 
						|
        xls='application/vnd.ms-excel',
 | 
						|
        ppt='application/vnd.ms-powerpoint',
 | 
						|
 | 
						|
        # open office
 | 
						|
        odt='application/vnd.oasis.opendocument.text',
 | 
						|
        ods='application/vnd.oasis.opendocument.spreadsheet',
 | 
						|
    )
 | 
						|
 | 
						|
    ext = os.path.splitext(filename)[1][1:].lower()
 | 
						|
    if ext in mime_types:
 | 
						|
        return mime_types[ext]
 | 
						|
    else:
 | 
						|
        return 'application/octet-stream' |