如何在python上使用gevent接收文件上传POST请求

时间:2014-06-16 12:33:26

标签: python gevent

我目前有一个提供HTML文件的小型gevent Python应用程序。我希望能够上传一个小文件。

表单用于将文件发送到/file_upload路径。

如何在Python端接收文件以将其保存在磁盘上?


目前我正在发送200 OK回复:

def __call__(self, environ, start_response):
    """function used to serve files following an http request"""
    path = environ['PATH_INFO'].strip('/') or 'index.html'
    if path == 'file_upload':
        start_response('200 OK',[('Content-Type', 'text/html')])
        return 'OK'

1 个答案:

答案 0 :(得分:-1)

可以使用environ['wsgi.input'].read()

获取文件内容
def __call__(self, environ, start_response):
    """function used to serve files following an http request"""
    path = environ['PATH_INFO'].strip('/') or 'index.html'
    if path == 'file_upload':
        data = environ['wsgi.input'].read(int(environ.get('CONTENT_LENGTH','0')))
        f = open('./uploaded_file', 'wb')
        f.write(data)
        f.close()
        start_response('200 OK',[('Content-Type', 'text/plain')])
        return 'OK'