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