I too have tried to successfully implement robust file uploading with mod_perl. I failed.
This is why it's still handy to have a cgi-bin directory, which i what i use to solve this problem - a CGI script. Something like the following should get you started. I store the files in another directory outside of the cgi-bin dir, say UPLOAD (caps for emphasis only).
However, i do hope that someone can ellaborate more on why mod_perl has difficulty with file uploads.use strict; use warnings; use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); use File::Basename; my $PATH = '/path/to/upload/not/in/cgi-bin/UPLOAD'; print header, start_html('not very safe uploader'); if (param('go')) { my $handle = upload('the_file'); my $name = param('the_file'); open OUT, '>', "$PATH/$name" or die "can't open target $name: $!"; print OUT while <$handle>; } my @file = map basename($_), <$PATH/*>; print start_multipart_form(), p('upload:', filefield('the_file',undef,50,80)), p(submit('go')), end_form, hr, ul(li[ map a({href=>"/UPLOAD/$_"},$_), @file ]), # YMMV here hr, end_html, ;
jeffa
L-LL-L--L-LL-L--L-LL-L-- -R--R-RR-R--R-RR-R--R-RR B--B--B--B--B--B--B--B-- H---H---H---H---H---H--- (the triplet paradiddle with high-hat)
In reply to Re: mod_perl upload woes
by jeffa
in thread mod_perl upload woes
by drfrog
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |