1from tempfile import TemporaryFile 2import os, cgi 3 4def read(environ): 5 length = int(environ.get('CONTENT_LENGTH', 0)) 6 7 body = TemporaryFile(mode='w+b') 8 body.write(bytes(environ['wsgi.input'].read(length))) 9 body.seek(0) 10 11 environ['wsgi.input'] = body 12 return body 13 14def application(environ, start_response): 15 file = read(environ) 16 17 form = cgi.FieldStorage(fp=file, environ=environ, keep_blank_values=True) 18 19 filename = form['file'].filename 20 data = filename.encode() + form['file'].file.read() 21 22 start_response('200 OK', [ 23 ('Content-Type', 'text/plain'), 24 ('Content-Length', str(len(data))), 25 ]) 26 27 return data 28