mime fix
This commit is contained in:
0
mime/__init__.py
Normal file
0
mime/__init__.py
Normal file
70
mime/mime.py
Normal file
70
mime/mime.py
Normal file
@ -0,0 +1,70 @@
|
||||
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'
|
Reference in New Issue
Block a user