Форум сайта python.su
0
Есть форма заливки файла на сервер:
<form method='POST' enctype='multipart/form-data' action='http://localhost/index.html'>
File to upload: <input type=file name=upfile>
<br><input type=submit value=Upload>
def do_POST(self):
global rootnode
try:
ctype, pdict = cgi.parse_header(self.headers.get('content-type'))
if ctype == 'multipart/form-data':
query = cgi.parse_multipart(self.rfile, pdict)
self.send_response(301)
self.end_headers()
upfilecontent = query.get('upfile')
print('filecontent:', upfilecontent[0])
outstring = '<html><body>Content of the uploaded file: ' + upfilecontent[0] + '<br><a href="http://localhost:80/index.html">Back to the main page</a></body></html>'
self.wfile.write(bytearray(str(outstring).encode(encoding='utf_8', errors='strict')))
except Exception as e:
print(e)
Офлайн
0
А зачем тебе parse_multipart()? В модуле cgi, есть готовый класс FieldStorage.
Если хочешь написать свой парсер, то зачем использовать cgi?
Офлайн
0
Я не знаю почему, но у меня
form = cgi.FieldStorage()
fname = form.getvalue('filename') #тут можно подставить любой input, переданный в форме --- разницы нет
print(fname)
Отредактировано (Июнь 5, 2011 10:03:47)
Офлайн
0
если python работает с сервером через WSGI:
form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
Офлайн
0
dimabestА если нет? Переделать по-человечески? :)
если python работает с сервером через WSGI:
Отредактировано (Июнь 6, 2011 00:11:06)
Офлайн
0
желательно переделать, ибо Проект mod_python прекратил существование
Офлайн