summaryrefslogtreecommitdiff
path: root/includes/js/dojo/tests/io/upload.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojo/tests/io/upload.cgi')
-rw-r--r--includes/js/dojo/tests/io/upload.cgi60
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"))