Hi,

Which version of Perl and CGI.pm you are using?

Gerald


---------------------------------------------------------------------------
Gerald Richter            ecos electronic communication services gmbh
IT-Securitylösungen * Webapplikationen mit Apache/Perl/mod_perl/Embperl

Post:       Tulpenstrasse 5          D-55276 Dienheim b. Mainz
E-Mail:     [EMAIL PROTECTED]          Voice:   +49 6133 939-122
WWW:        http://www.ecos.de/      Fax:     +49 6133 939-333
---------------------------------------------------------------------------
ECOS BB-5000 Firewall- und IT-Security Appliance: www.bb-5000.info
---------------------------------------------------------------------------

  

> -----Original Message-----
> From: Willem Jan Withagen [mailto:[EMAIL PROTECTED] 
> Sent: Friday, May 13, 2005 10:03 AM
> To: modperl@perl.apache.org
> Subject: Problems get DATA part from POST requests.
> 
> Hi,
> 
> I've inherited a large set of "old" mod_perl/Embperl websites 
> from a crashed server.... Programming (mod_)perl is not yet 
> my strongpoint at this moment, and the sites do not work when 
> it needs to upload files. (It is a very old, selfmade CMS) I 
> have do large experience in sysadmin and scripts in Perl4. :(
> 
> It is running on FreeBSD 5.4, Apache/1.3.33 (Unix) 
> Embperl/1.3.6 mod_perl/1.29
> 
> And the snippet of code looks like this:
>       # Get some fileproperties!
>       $filename=$fdat{ImageName};
>       $filename=~ m/.*\\(.*)/is;
>       $shortname=$1;
>       $contentinfo =$fdat{-ImageName} -> {'Content-Type'};
> 
>       $contentinfo =~ m/(.*?)\/(.*)/is;
>       $contentsort=$1;
>       $contenttype=$2;
> 
>       print LOG "[$$]ABCD: Opening $tmppath$tmpname.$$\n" ;
>      open FILE, "> $tmppath$tmpname.$$" ||
>       print LOG "[$$]ABCD: Cannot open file 
> $tmppath$tmpname.$$ for writing\n"; #store file in tmp dir.
>       binmode FILE;
>       $ok=1;
>       $oversize=0;
>      while ($ok==1)
>               {
>               $temp=0;
>               $temp = read($fdat{ImageName}, $buffer, 16384);
>               $size = $size + $temp;
>               print FILE $buffer;
>               print LOG "[$$]ABCD: Buffer: |$buffer|\n";
>               if ($temp ==0) {$ok=0}   # exit, finished 
> reading all data
>               if ($size > $maxfilesize) {$oversized=1;$ok=0;} 
> # toooo big           
>               }
>      close FILE;
>   ---------------
> 
> The print LOG are my doing....
> When this code gets executed it does open the file, filename 
> and contentinfo are correctly extracted. Only the data in 
> read is never there. The buffer is always empty. But I can 
> not seem to graps why!?
> 
> It could be configuration, although I'm led to believe that 
> read-overloading is default present with mod_perl/Embperl. I 
> did get Sessions to work with Apache::SessionX.
> 
> I've also searched the archives but have only found some 
> discussion from 2001 on this. And it either went away with 
> upgrading mod_perl, or by completely overhauling the code. 
> mod_perl is already very recent. And rewriting the code is 
> something I try to prevent, since it'll might start to break 
> even more.
> 
> Does anybody have suggestions as to where to look??
> --WjW
> 

Reply via email to