Colin Bean
ccbean at gmail.com
Wed Aug 2 14:43:45 EDT 2006
Unfortunately, what you're trying to do is more complicated than this. First of all, by the time your handler is called, the file has already been sent over the network, and your handler is only reading it from a tempfile on disk. Also, a handler only sends one response back after running to completion, so your code is behaving as expected. It finishes processing the file upload (including doing everything in your loop), and when it's finished it sends a response back to the client. Sorry I can't provide more constructive feedback having never actually implemented something like this. To take a guess at it, you'd need to use an InputFilter to examine the upload request as it is read (I believe this phase happens before the tempfile is written to disk), and this would need to somehow communicate with another mod_python handler which would return the current upload progress. The client page wold have to keep polling this handler (with an XMLHttpRequest, perhaps) and display the results it gets with each poll. Yeah, it's pretty ugly... HTH, Colin On 8/1/06, jadacyrus <jadacyrus at gmail.com> wrote: > Essentially this is what I have setup for my upload script: > > [code] > > #HTML Stuff here > #Declare variables etc... > > while bytes_left >= 0: > fileData = req.form['filename'].file.read(1024) > filebuffer = filebuffer + fileData > bytes_left = bytes_left - 1024 > bytes_read = bytes_read + 1024 > percent = bytes_read/int(length) * 100 > > #Some nested IF statements to display a progress indicator using images > based on the percent variable. > > [/code] > > This is contained in my upload.py in the function upFile which is called > from the POST method. However, It seems that the file uploads completely > first and then it will show the progress indications afterwards. However > this doesn't seem to be logically what my code should be doing. I'm > somewhat new to mod_python but not python in general, any suggestions? > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|