python - 处理来自 WSGI 请求的文件

标签 python post file-upload wsgi

问题

处理通过 WSGI POST 请求上传的文件的好方法是什么?

更多信息

到目前为止,我能够从 environ[wsgi.input] 读取原始的 POST 数据。在这一点上,我遇到的问题是与文件相关的信息和文件本身被挤在一个字符串中:

'------WebKitFormBoundarymzmB1wyHKjyqZrDm
Content-Disposition: form-data; name="file"; filename="new file.wav"
Content-Type: audio/wav

THIS IS THE CONTENT
THIS IS THE CONTENT
THIS IS THE CONTENT
THIS IS THE CONTENT
THIS IS THE CONTENT

------WebKitFormBoundarymzmB1wyHKjyqZrDm--
'

我应该使用 python 中的库来更干净地处理信息吗?最后,我想获取文件内容,然后转身上传到 Amazon S3。

最佳答案

您可以使用 cgi.FieldStorage .

import cgi
form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
f = form['file'].file
# You can use `f` as a file object: f.read(...)

关于python - 处理来自 WSGI 请求的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27995198/

相关文章:

python - 使用分而治之的方法找到列表中出现次数至少为 60% 的元素?

python 停止 selenium 独立服务器

node.js - express 端点接收空正文

java - 从 Web 访问文件系统的 Java Applet 替代方案

javascript - expressjs 文件上传,检查是否确实有文件发送,指定最大文件大小并保留其名称

python - XML 子元素中的变量

python - Pandas 专栏: applying a function

Python requests.post() 返回 None

javascript - Yii2 ActiveForm Ajax POST 被调用两次

file-upload - 上传后 Yii2 文件验证不起作用