FieldStorage bringt mich fast um !!! LOL
Verfasst: Montag 5. Juni 2006, 23:25
Hallo zusammen.
Ich weiß einfach nicht mehr weiter. Nach fast 8 Stunden googlen bin ich echt am Ende!
Ich habe einen HTTPServer und den dazugehörigen Base HTTPRequestHandler (kein CGIHTTPServer).
Im RequestHandler habe ich die Methode do_POST implementiert, die ein Dateiupload entgegen nehmen soll:
im Moment mache ich das ganze so:
Das ganze funktioniert auch super, in der Liste "upfilecontent" steht nun auch der Inhalt des Files drin, was ich hochgeladen habe.
Nun wird aber überall gesagt, das man lieber Filestorage verwenden soll, was mir auch ganz lieb wäre, da ich irgendwie noch an den filenamen rankommen muß. Leider weiß ich nicht wie das geht!
Es gibt 100e von Beispielen im Netz, aber ich komme auf keinen grünen Zweig:
Wenn ich mir nun mit print form (wie oben gezeigt) mir den Inhalt anschauen will, sieht das so aus:
FieldStorage[None, None, []]
Sprich alles ist leer, irgendwie bekommt er keine Daten, kann mir vielleicht jemand weiterhelfen?
Wenn ich irgendwie anders an den filename des Uploadfiles rankomme wäre mir das auch lieb.
Ich bin echt am Ende !!!
Vielen Dank,
Zilchinger
Ich weiß einfach nicht mehr weiter. Nach fast 8 Stunden googlen bin ich echt am Ende!
Ich habe einen HTTPServer und den dazugehörigen Base HTTPRequestHandler (kein CGIHTTPServer).
Im RequestHandler habe ich die Methode do_POST implementiert, die ein Dateiupload entgegen nehmen soll:
im Moment mache ich das ganze so:
Code: Alles auswählen
...
ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
if ctype == 'multipart/form-data':
query=cgi.parse_multipart(self.rfile, pdict)
self.send_response(301)
self.end_headers()
upfilecontent = query.get('upload')
...
Nun wird aber überall gesagt, das man lieber Filestorage verwenden soll, was mir auch ganz lieb wäre, da ich irgendwie noch an den filenamen rankommen muß. Leider weiß ich nicht wie das geht!
Es gibt 100e von Beispielen im Netz, aber ich komme auf keinen grünen Zweig:
Code: Alles auswählen
...
ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
if ctype == 'multipart/form-data':
form=cgi.FieldStorage(self.rfile)
print form
self.send_response(301)
self.end_headers()
upfilecontent = query.get('upload')
...
FieldStorage[None, None, []]
Sprich alles ist leer, irgendwie bekommt er keine Daten, kann mir vielleicht jemand weiterhelfen?
Wenn ich irgendwie anders an den filename des Uploadfiles rankomme wäre mir das auch lieb.
Ich bin echt am Ende !!!
Vielen Dank,
Zilchinger