The stupid question is the question not asked | |
PerlMonks |
simple CGI::upload_hook() guide or example?by thoughts (Initiate) |
on Oct 12, 2005 at 16:11 UTC ( [id://499572]=perlquestion: print w/replies, xml ) | Need Help?? |
thoughts has asked for the wisdom of the Perl Monks concerning the following question: I'm trying to use CGI::upload_hook() to implement a progress meter for file uploads. Using the code from CGI.pm's documentation doesn't work at all:
That's straight from the docs, except that I changed it to print to STDERR, and I removed "$data", which the docs randomly pass into upload_hook() but don't explain at all. The problem is that it doesn't do anything; nothing ever gets printed to STDERR, though the file gets completely uploaded. I've been searching on Google for a couple hours and have found not a single working example of this feature of CGI.pm. The one that comes close is this other perlmonks thread Understanding CGI::upload_hook() ;. In it, the author asks basically my same question, and gets a reply from someone with a "working" example; however the example code doesn't run on either of the two servers I tried it on (both Linux/Apache without mod_perl), though it works on its author's homepage. But the example code isn't particularly simple, and all I'm interested in is the upload_hook portion; I don't want to try to debug the example package. The example package calls the hook differently than the CGI.pm docs suggest:
When I try that in my code, I have only slightly more success: the hook does get called, but not until the file is almost completely finished uploading. It's a 2MB photo that takes about 60 seconds to upload on my connection, but the hook only get called during the last ~5 seconds -- during those 5 seconds, it gets called a few hundred times, starting with a $bytes_read value of zero, as if the entire upload didn't happen until those final 5 seconds. (I am monitoring the outgoing traffic on my workstation, so I know that isn't the case.) What I'm looking for is a simple CGI script or function that shows upload_hook being used successfully. By simple, I mean not a module, not a full-blown package with XML config files and a database-backed caching system, etc. Just a few lines of code would be great. I can post my full non-working example in a reply if that is helpful.
Back to
Seekers of Perl Wisdom
|
|