Gistrec

Parse multipart data

Jun 21st, 2023
136
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.92 KB | Software | 0 0
  1. import io
  2. import cgi
  3. import base64
  4.  
  5.  
  6. from urllib.parse import unquote, parse_qs
  7.  
  8.  
  9. def parse_form_data(event):
  10.     body = base64.b64decode(event['body'])
  11.     fp = io.BytesIO(body)
  12.  
  13.     pdict = cgi.parse_header(event['headers']['Content-Type'])[1]
  14.     if 'boundary' in pdict:
  15.         pdict['boundary'] = pdict['boundary'].encode('utf-8')
  16.     pdict['CONTENT-LENGTH'] = len(body)
  17.     return cgi.parse_multipart(fp, pdict)
  18.  
  19.  
  20. # На фронтенде передавал картинку через FormData
  21. # const formData = new FormData();
  22. # formData.append('image', image);
  23. def process(event):
  24.     form_data = parse_form_data(event)
  25.     # Bytearray, который можем записать в файлик - получим картинку
  26.     image = form_data['image'][0]
  27.  
  28.     s3_bucket.put_object(
  29.         Key=f"avatars/{avatar_url}",
  30.         Body=image,
  31.         ContentType="image/${extension}",
  32.     )
Comments
  • User was banned
Add Comment
Please, Sign In to add comment