Falcon的多部分表单解析。
项目描述
[](https://travis-ci.org/yohanboniface/falcon-multipart)
# 在Falcon中解析multipart/form-data请求
## 安装
pip install falcon-multipart
## 使用方法
将`MultipartMiddleware`添加到您的api中间件
from falcon_multipart.middleware import MultipartMiddleware
api = falcon.API(middleware=[MultipartMiddleware()])
这将解析任何`multipart/form-data`传入请求,并将键
放入`req._params`中,包括文件,因此您可以将字段作为其他参数获取。
## 处理文件
文件将作为`cgi.FieldStorage`可用
具有以下主要参数
- `file`:作为python文件,您可以调用`read()`来检索内容(作为*bytes*)
- `filename`:文件名,如果有提供
- `value`:*bytes*中的文件内容
- `type`:内容类型,如果没有指定则为None
- `disposition`:内容处置,如果没有指定则为None
- `content-disposition`:内容处置,如果没有指定则为None
## 示例
# 假设您有一个包含以下字段的表单
# - title => 字符串
# - image => 图片文件
def on_post(req, resp, **kwargs)
title = req.get_param('title')
image = req.get_param('image')
# 以二进制形式读取图像
raw = image.file.read()
# 获取文件名
filename = image.filename
# 在Falcon中解析multipart/form-data请求
## 安装
pip install falcon-multipart
## 使用方法
将`MultipartMiddleware`添加到您的api中间件
from falcon_multipart.middleware import MultipartMiddleware
api = falcon.API(middleware=[MultipartMiddleware()])
这将解析任何`multipart/form-data`传入请求,并将键
放入`req._params`中,包括文件,因此您可以将字段作为其他参数获取。
## 处理文件
文件将作为`cgi.FieldStorage`可用
具有以下主要参数
- `file`:作为python文件,您可以调用`read()`来检索内容(作为*bytes*)
- `filename`:文件名,如果有提供
- `value`:*bytes*中的文件内容
- `type`:内容类型,如果没有指定则为None
- `disposition`:内容处置,如果没有指定则为None
- `content-disposition`:内容处置,如果没有指定则为None
## 示例
# 假设您有一个包含以下字段的表单
# - title => 字符串
# - image => 图片文件
def on_post(req, resp, **kwargs)
title = req.get_param('title')
image = req.get_param('image')
# 以二进制形式读取图像
raw = image.file.read()
# 获取文件名
filename = image.filename