I tried the code.  Still nothing.  I did turn On PerlWarn in httpd.conf.
Upon restart I saw the following:

<errorlog>
[Wed Mar 20 07:55:19 2002] [info] master_main: Restart event signaled. Doing
a graceful restart.
defined(@array) is deprecated at C:/Perl/site/lib/Apache/DBI.pm line 135.
        (Maybe you should just omit the defined()?)
[Wed Mar 20 07:55:21 2002] [info] Parent: Created child process 2936
[Wed Mar 20 07:55:21 2002] [info] Parent: Duplicating socket 244 and sending
it to child process 2936
[Wed Mar 20 07:55:22 2002] [info] BytesRead = 372 WSAProtocolInfo = 2006620
[Wed Mar 20 07:55:26 2002] nul: Use of uninitialized value in subroutine
entry at C:/Perl/site/lib/Apache.pm line 61.
</errorlog>

I am not sure where the Apache::DBI error crept in, but I believe it is
unrelated.  As for line 61 of Apache, I do not know if this is a warning I
can ignore or not.
Also, as for not using parse() -- it was my understanding it was not
necessary to call explicitly, however you could use the status to provide
some error catching. . .

Is there a bare-bones httpd.conf file I can use to run mod_perl?  I am
presuming it is my configuration of Apache that might be causing problems.

I have the latest mod_perl, apache modules, and apache that I am aware of.

completely befuddled now.  :|

Thanks,
Ward

   :  -----Original Message-----
   :  From: Randy Kobes [mailto:[EMAIL PROTECTED]]
   :  Sent: Tuesday, March 19, 2002 9:24 PM
   :  To: Vuillemot, Ward W
   :  Cc: 'Issac Goldstand'; [EMAIL PROTECTED]
   :  Subject: Re: mod_perl does not see multipart POSTs
   :  
   :  
   :  
   :  ----- Original Message -----
   :  From: "Vuillemot, Ward W" <[EMAIL PROTECTED]>
   :  To: "'Issac Goldstand'" <[EMAIL PROTECTED]>; 
   :  <[EMAIL PROTECTED]>
   :  Sent: Tuesday, March 19, 2002 2:30 PM
   :  Subject: RE: mod_perl does not see multipart POSTs
   :  
   :  
   :  > I simplified everything to the bare bones.  Nothing is 
   :  getting passed.  I
   :  am
   :  > at a complete loss.  If anyone has a few minutes, just 
   :  try running this.
   :  > You should be able to point it toward a text/plain file 
   :  and have it
   :  > displayed below the file upload form.
   :  
   :  I'm not quite sure what the full requirements are, but 
   :  the following
   :  works for me in displaying the contents of the uploaded 
   :  file - this
   :  is on Win32 with the latest mod_perl/libapreq packages.
   :  
   :  In httpd.conf:
   :  ******************************************************
   :  PerlModule Apache::testUpload
   :  <Location /testUpload>
   :    SetHandler perl-script
   :    PerlHandler Apache::testUpload
   :    PerlSendHeader Off
   :  </Location>
   :  ******************************************************
   :  and Apache/testUpload.pm is
   :  ****************************************************
   :  package Apache::testUpload;
   :  use strict;
   :  ##############################
   :  ### START LOADING MODULES  ###
   :  ##############################
   :  use Apache::Request ();
   :  use CGI;
   :  use Apache::Constants qw(:common);
   :  ##############################
   :  ###         HANDLER        ###
   :  ##############################
   :  sub handler{
   :    my $q = Apache::Request->new(shift, DISABLE_UPLOADS => 0,
   :            POST_MAX => 20480000);
   :    return main($q);
   :  }
   :  
   :  ##############################
   :  ###  START OF MAIN LOGIC   ###
   :  ##############################
   :  sub main{
   :    my $q = shift;
   :    my $status = $q->parse();
   :    return $status unless $status == OK;
   :    my %results = ();
   :    my $cgi = CGI->new();
   :    #########################
   :    ##     START FORM      ##
   :    #########################
   :    $results{content} .= $cgi->start_multipart_form;
   :    $results{content} .= $cgi->filefield(-name=>'uploaded_file',
   :             -default=>'starting value',
   :             -size=>50,
   :             -maxlength=>80);
   :    $results{content} .= $cgi->submit();
   :    $results{content} .= $cgi->endform;
   :    #########################
   :    ##  START UPLOAD FILE  ##
   :    #########################
   :    my $upload = $q->upload || undef;
   :    if ($upload) {
   :      my $fh = $upload->fh;
   :      my $filename = $upload->filename;
   :      my $size = $upload->size;
   :      $results{content} .= "Upload File<br />";
   :      $results{content} .= "Filename: $filename<br />";
   :      $results{content} .= "Size: $size<br />";
   :      $results{content} .= "$_<br />" while <$fh>;
   :    }
   :    #########################
   :    ##     START OUTPUT    ##
   :    #########################
   :    # send results to browser
   :    $q->send_http_header('text/html');
   :    print $cgi->start_html('File Upload Test');
   :    print $cgi->h1('Content') . $results{content};
   :    print $cgi->end_html();
   :    return OK;
   :  }
   :  1;
   :  ******************************************************
   :  
   :  Apart from abbreviating the output, one difference between the
   :  above and your original is the $q->parse() call within main().
   :  
   :  best regards,
   :  randy kobes
   :  
   :  

Reply via email to