diff options
Diffstat (limited to 'includes/js/dojo/tests/io/upload.cgi')
-rw-r--r-- | includes/js/dojo/tests/io/upload.cgi | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/includes/js/dojo/tests/io/upload.cgi b/includes/js/dojo/tests/io/upload.cgi new file mode 100644 index 0000000..a13656f --- /dev/null +++ b/includes/js/dojo/tests/io/upload.cgi @@ -0,0 +1,60 @@ +#!/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 + + +<html> + <head> + </head> + <body> + <textarea style="width: 100%; height: 100px;">{ %s }</textarea> + </body> +</html> +""" % (string.join(dbg, "\n")) |