javascript - upload file with python - where is the file? -


i'm trying "cross origin upload" example of course "html 5 power" andy olsen (lynda.com , video2brain).

i can upload, , on server says "upload server complete". file not on server. why ?

thanks helping.

here's have in server console :

c:\cou>c:\python27\python corsserver.py 9999 serving http on 0.0.0.0 port 9999 ... 127.0.0.1 - - [24/sep/2013 10:40:28] "get /crossoriginupload.html http/1.1" 200 - received options request. 127.0.0.1 - - [24/sep/2013 10:40:43] "options /upload http/1.1" 200 - received post request. read post data 127.0.0.1 - - [24/sep/2013 10:40:50] "post /upload http/1.1" 200 - upload server complete 

the file corsserver.py :

#!/usr/bin/python  import basehttpserver simplehttpserver import simplehttprequesthandler  class corsrequesthandler(simplehttprequesthandler):     def do_post(self):         print "received post request."         content_length = int(self.headers['content-length'])         bytes_read = 0         while bytes_read < content_length:             x = self.rfile.read(1)             bytes_read += 1         print "read post data"          message = "upload server complete"          self.send_response(200)          self.send_header("access-control-allow-origin", "http://mydomain1:9999")         self.send_header("content-length", str(len(message)))         self.send_header("content-type", "text/plain");         self.end_headers()          print message         self.wfile.write(message);      def do_options(self):         print "received options request."         self.send_response(200)         self.send_header("access-control-allow-origin", "http://mydomain1:9999")         self.send_header("access-control-allow-methods", "post")         self.end_headers()  if __name__ == "__main__":     basehttpserver.test(corsrequesthandler, basehttpserver.httpserver) 

and crossoriginupload.html :

<!doctype html> <head>     <title>uploading data</title>      <style>         body {             font-family: arial, verdana;         }     </style>      <script> //cross-origin requests         // global variables.         var targetlocation = "http://localhost:9999/upload";         var messageareaelem;         var progressbarelem;          // handles "start upload" button click.         function dostartupload() {              progressbarelem.value = 0;             messageareaelem.innerhtml = "";              // file selected user.             var fileelem = document.getelementbyid("file");             if (fileelem.files.length == 0) {                 messageareaelem.innerhtml = "you must select file upload first";              } else {                 messageareaelem.innerhtml = "opening file...";                  // start reading file memory.                 var reader = new filereader();                 reader.onloadend = doupload;                 reader.readasarraybuffer(fileelem.files[0]);             }         }          // handles "file loaded memory" event.         function doupload(e) {              messageareaelem.innerhtml = "uploading file server...";              // create xmlhttprequest object.             var xhr = new xmlhttprequest();              // handle "upload progress" events on xmlhttprequest object.             xhr.upload.onprogress = function(e) {                 var percentuploaded = math.floor(100 * e.loaded / e.total);                 progressbarelem.value = percentuploaded;                 messageareaelem.innerhtml = percentuploaded + "% uploaded";             }              // handle "download progress" events on xmlhttprequest object.             xhr.onprogress = function(e) {                 var percentdownloaded = math.floor(100 * e.loaded / e.total);                 progressbarelem.value = percentdownloaded;                 messageareaelem.innerhtml = percentdownloaded + "% downloaded";             }              // handle "finished upload/download" events on xmlhttprequest object.             xhr.onload = function(e) {                 messageareaelem.innerhtml = "finished";             }              // handle "error" events on xmlhttprequest object.             xhr.onerror = function(e) {                 messageareaelem.innerhtml = "error occurred";             }              // upload file data asynchronously server, using xmlhttprequest object.             xhr.open("post", targetlocation, true);             xhr.send(e.target.result);         }          // performs page initialization.         function onload() {             document.getelementbyid("startupload").addeventlistener("click", dostartupload, true);                  messageareaelem = document.getelementbyid("messagearea");             progressbarelem = document.getelementbyid("progressbar");         }          window.addeventlistener("load", onload, true);      </script>  </head> <body>      <h1>ajax uploads</h1>      <input type="file" id="file"/> <br/>     <button id="startupload">start upload</button> <br/><br/>      <progress id="progressbar" value="0" max="100"></progress>      <span id="messagearea"></span>  </body> </html> 

this loop reads and discards uploaded data.

    while bytes_read < content_length:         x = self.rfile.read(1)         bytes_read += 1 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

c++ - Clear the memory after returning a vector in a function -

erlang - Saving a digraph to mnesia is hindered because of its side-effects -