处理POSTed multipart / form-data文件

时间:2013-12-11 14:44:55

标签: python falconframework

我想知道在服务器端处理POSTed原始数据的最佳方法是什么。 所以我正在使用Falconframework,我能够收到用户提交的文件

-----------------------------1209846671886287098156775745
Content-Disposition: form-data; name="qquuid"

d3ad452e-a287-4cb7-ac1f-f0a5cdb54386
-----------------------------1209846671886287098156775745
Content-Disposition: form-data; name="qqfilename"

Screenshot.png
-----------------------------1209846671886287098156775745
Content-Disposition: form-data; name="qqtotalfilesize"

1951677
-----------------------------1209846671886287098156775745                                                                                         
Content-Disposition: form-data; name="qqfile"; filename="Screenshot.png"
Content-Type: image/png

�PNG
.................lots of bites............

使用python并希望其他一些lib我想把它变成某种文件对象,我可以提取元数据 - filename,uuid等,以及文件本身。 我应该使用哪个lib?

2 个答案:

答案 0 :(得分:1)

这是一个看起来很有前景的中间件项目我目前正试图在猎鹰服务中实现这一点。

falcon-multipart

我使用cgi.FeildStorage()也运气不错。如下文所示。 cgi article

import cgi

def on_post(req, resp):
    env = req.env
    env.setdefault('QUERY_STRING','')
    form = cgi.FieldStorage(fp=req.stream,environ=env)
    form['fileinputname'].file

如果你愿意在这里有一个非猎鹰钩子是瓶子的例子: example

答案 1 :(得分:0)

只是对这个旧讨论的一个很晚的跟进。

Falcon 3.0 开始,supports multipart/form-data nativelyWSGI 的框架 ASGI applications