El Jue 14 Mar 2002 12:12, Vuillemot, Ward W escribió: > I have searched off and on for the past 3 weeks for a solution to my > problem. I am at wits end. . .and thought I would finally ask the > mailinglist. > > I had a set of CGI scripts that worked without problem. I began the > process about 4 weeks ago of moving them to mod_perl. The suite of scripts > are handled as their own perlHandler collection. One of the scripts has a > form where a user can either enter data directly, or indicate a file of > equivalent data. > > When I use the form to POST without any enctype and if you enter directly > into the form things work correctly. That is, the data is "massaged" and > sent back to you as downloadable file. Of course, this form does not > handle file uploads. > > Now, I change nothing more than the form enctype to "multipart/data-form". > Now, regardless of how the data is presented in the form (e.g. directly or > via file upload) the browser tries to refresh the screen with the web-page > (which it should not since its only response is to send to the client a > file to download). However, the web page does not get completely sent, and > consistently stops in the middle of the send. > > I have been using the POST2GET snippet to help make the post more > persistent. In short, my httpd.conf file looks like: > > # > # ********************** > # ** MOD PERL CHANGES ** > # ********************** > # limit POSTS so that they get processed properly > <Limit POST> > PerlInitHandler POST2GET > </Limit> > # force reloading of modules on restart > PerlFreshRestart on > # Perl module primitive mother load on start/restart > #PerlRequire lib/perl/startup.pl > # FLOE application (mod_perl) > PerlModule Apache::DBI > PerlModule floeApp > <Location /floeApp> > SetHandler perl-script > PerlHandler floeApp > PerlSendHeader On > </Location> > > And the relevant two snippets of code from the script are: > ## process incoming > # if submitted > my %hash = undef; > my $initialList = $q->param('initialList') || ''; > my $upload = $q->upload || undef; > my $fh = $upload->fh if defined($upload); > if (defined($upload) && $upload) { > $initialList = ''; > while (<$fh>) { > $initialList .= $_; > } > } > > ## some processing is done to the POST'ed data > ## and eventually. . . > > ## send file to client > print "Content-type: text/plain\n"; > print "Content-Disposition: attachment; > filename=list.txt\n\n"; > > foreach my $value (sort keys %$hash) { > chomp($value); > next unless ($value); > print "$hash->{$value}$CRLF$value$CRLF"; > } > > exit; > > > Any ideas? I would love to get this solved so I can get back to developing > useful scripts. :) > > Thanks! > Ward > > Ward W. Vuillemot > Boeing Flight Operations Engineering > Performance Software > tel +01 206-662-8667 * fax +01 206-662-7612 > [EMAIL PROTECTED]
just to test, if you trie: perl -MCGI -e 'print CGI::start_multipart_form()' you get <form method="post" action="/-e" enctype="multipart/form-data"> and not: multipart/data-form as you write May be you spelled it wrong on he message, but this may be your problem. Hans