День добрый, возник такой вопрос. Ниже есть два варианта обработки POST запроса загрузки файла.
class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
def do_POST(self):
form = cgi.FieldStorage(
fp=self.rfile,
headers=self.headers,
environ={'REQUEST_METHOD':'POST',
'CONTENT_TYPE':self.headers['Content-Type'],
})
length = int(self.headers['content-length'])
data = form['file'].file.read(length)
open("/tmp/file.a", "wb").write(data)
self.send_response(200)
class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
def do_POST(self):
length = int(self.headers['content-length'])
data = self.rfile.read(int(length))
with open("/tmp/file.b", "wb") as f:
f.write(data)
self.send_response(200)
------WebKitFormBoundaryNWzcRXF9BitXxqdz
Content-Disposition: form-data; name="file"; filename="debian-8.1.0-amd64-netinst.iso"
Content-Type: application/x-cd-image
Заранее спасибо.