[mod_python] Upload progress indicator shows after upload?

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
>


More information about the Mod_python mailing list