John Tsangaris wrote:
They can't use ftp (the users are not knowledgeable enough, nor do
they want to use client apps other than browsers).

Many web browsers are capable of acting as FTP clients for uploading.

What about WebDAV? Built-in to most Windows machines. Simple
drag-and-drop upload once the destination "web folder" has been setup.

Though the Apache modules to support WebDAV won't be universally installed at hosting providers, if you're looking for a universal solution.


...they need upload capabilities in the hundreds of MB on a variety of shared hosting systems.

With a typical shared hosting system which is capped at 2.5 GB or less of disk space, they won't be uploading very many files that big before running out of space.


Perl seems to simply cut off at 12160000 B on one server...

If you set $CGI::POST_MAX as I mentioned in our earlier email exchange, then you probably hit the process memory limit.



What can I do to get around this?

I had hoped that CGI.pm was smart enough to spool to disk, rather than RAM (I know it writes the data to a temporary file, but I don't recall when), but two of the posts have suggested otherwise. Have you looked at CGI.pm's code?


If you can indeed define a "chunk handler" in CGI.pm as Andrew Medico
suggested, that's the way to go. Otherwise, investigate the other CGI::
modules on CPAN to see if another offers a "streaming" file upload
handler. If not, write one from scratch. It isn't that big of a
deal.


...and times out on another...
...
...to facilitate the upload of >100MB files through a web interface on a hosting system that I have no configurational control over?

I don't think you'll be able to achieve a universal solution that will work with all or even most hosting providers. Even if you fix the upload problems from Perl's perspective, you'll still have some web servers that are configured to timeout if a CGI doesn't return a reply in a short amount of time. You might be able to hack around that by having your script use non-parsed headers and have it periodically write out data (percentage uploaded?) to the browser while the upload is in progress, thus resetting any timers. (Not unlike a "server push" GIF animation, if anyone remembers those.)

But if you have the freedom to pick and choose hosting providers, you
should certainly be able to find one or a few that will work. Dreamhost,
is good for stuff like this. They're usually willing to bend the rules (adjust configurations) to accommodate, if your requests are reasonable.


 -Tom


_______________________________________________ Boston-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to