Graham Dumpleton
grahamd at dscpl.com.au
Wed Aug 2 19:20:45 EDT 2006
Colin Bean wrote .. > 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... Except that a subsequent request to try and monitor progress may in a multi process version of Apache end up at a different process and will not have access to where the original request is up to. In short, there are many reasons why a progress meter is hard to implement and may not even give a correct indication of what is happening anyway. Personally, I am not sure what the fascination is with them besides the eye candy value of it. Graham > 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 > > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|