#!/usr/bin/python # FROM: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/273844 import cgi import cgitb; cgitb.enable() import os, sys import string UPLOAD_DIR = "/tmp/upload/" form = cgi.FieldStorage() dbg = [] def debug(dbgstr): dbg.append(str(dbgstr)) def save_uploaded_file(form_field, upload_dir): global form if not form.has_key(form_field): debug("didn't find it! (1)") return fileitem = form[form_field] if not fileitem.file: debug(form.getvalue(form_field, "")) debug(fileitem.__dict__) debug("didn't find it! (2)") return fout = file(os.path.join(upload_dir, fileitem.filename), 'wb') while 1: chunk = fileitem.file.read(100000) if not chunk: break fout.write (chunk) fout.close() retval = "false"; fileFields = "" if form.has_key("fileFields"): fval = str(form.getvalue("fileFields", "")) fileFields = fval.split(",") debug("'fileCount': '" + str(len(fileFields)) + "',") for field in fileFields: debug("'fileField' : '"+field + "',") save_uploaded_file(str(field).strip(), UPLOAD_DIR) retval = "true"; debug("'retval': " + retval) print """Content-Type: text/html """ % (string.join(dbg, "\n"))