Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # модуль mimetypes не может работать с кириллическими типами(например, "аудио/AMR") и падает
- mime_types = {
- 'bmp': 'image/bmp',
- 'gif': 'image/gif',
- 'jpg': 'image/jpeg',
- 'jpeg': 'image/jpeg',
- 'png': 'image/png'
- }
- def build_multipart(boundary, fields, files=None):
- L = ['']
- for k, v in fields.items():
- L.append('Content-Disposition: form-data; name="' + k + '"\r\n\r\n' + v)
- if files:
- for k, v in files.items():
- f = open(v, 'r')
- data = f.read()
- f.close()
- filename = v.replace('\\', '/').split('/')[-1]
- parts = filename.split('.')
- extension = parts[-1].lower() if len(parts) > 1 else ''
- content_type = mime_types[extension] if extension in mime_types else 'application/octet-stream'
- L.append('Content-Disposition: form-data; name="' + k + '"; filename="' + filename + '"\r\nContent-Type: ' + content_type + '\r\n\r\n' + data)
- return ('\r\n--' + boundary + '\r\n').join(L) + '\r\n--' + boundary + '--\r\n'
Advertisement
Add Comment
Please, Sign In to add comment