Awesome
Parse multipart/form-data requests in Falcon
Install
pip install falcon-multipart
Usage
Add the MultipartMiddleware
to your api middlewares:
from falcon_multipart.middleware import MultipartMiddleware
api = falcon.API(middleware=[MultipartMiddleware()])
This will parse any multipart/form-data
incoming request, and put the keys
in req._params
, including files, so you get the field as other params.
Dealing with files
Files will be available as cgi.FieldStorage
,
with following main parameters:
file
: act as a python file, you can callread()
on it, and you will retrieve content (as bytes)filename
: the filename, if givenvalue
: the file content in bytestype
: the content-type, or None if not specifieddisposition
: content-disposition, or None if not specified
Example
# Say you have a form with those fields:
# - title => a string
# - image => an image file
def on_post(req, resp, **kwargs):
title = req.get_param('title')
image = req.get_param('image')
# Read image as binary
raw = image.file.read()
# Retrieve filename
filename = image.filename