]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojo/tests/io/upload.cgi
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojo / tests / io / upload.cgi
diff --git a/static/dojo-release-1.1.1/dojo/tests/io/upload.cgi b/static/dojo-release-1.1.1/dojo/tests/io/upload.cgi
new file mode 100644 (file)
index 0000000..a13656f
--- /dev/null
@@ -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"))