处理来自WSGI请求的文件

时间:2015-01-17 01:22:54

标签: python post file-upload wsgi

问题

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

更多信息

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

'------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。

2 个答案:

答案 0 :(得分:2)

您可以使用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(...)

答案 1 :(得分:0)

通常你需要比原始WSGI更多的抽象。考虑frameworks that run on WSGI