[prev in list] [next in list] [prev in thread] [next in thread] 

List:       perl-win32-users
Subject:    Re: RE: help with pdf file download?
From:       "cerberos" <cerberos76 () myrealbox ! com>
Date:       2002-10-16 12:09:24
[Download RAW message or body]

Thanks Josh for noticing that typo.
unfortunately that's not the problem. 

I simply cut'n'pasted the wrong version of code yesterday (I had many different \
attempts with various methods and I tried at the end to have a separate case for PDF \
which at the end I aborted forgotting to change it back to 'eq').

My original correct code is: 
if (-B $file) { #binary file...
     
       $file =~ m|(.*/)(.+)\.([^\.]+)$|;
       my $ext = $3; my $mimetype;
		
       #most common mime types
       if (uc($ext) eq "PDF") { $mimetype="application/pdf";}  
       elsif (uc($ext) eq "DOC") { $mimetype="application/msword";}
       elsif (uc($ext) eq "PPT") { $mimetype="application/powerpoint";}
       elsif (uc($ext) eq "ZIP") { $mimetype="application/x-zip-compressed";}
       elsif (uc($ext) eq "EXE") { $mimetype="application/octet-stream";}
       elsif (uc($ext) eq "EPS") { $mimetype="application/postscript";}
       elsif (uc($ext) eq "PS")  { $mimetype="application/postscript";}
       elsif (uc($ext) eq "GZ")  { $mimetype="application/x-gzip";}
       elsif (uc($ext) eq "LATEX") { $mimetype="application/x-latex";}
       elsif (uc($ext) eq "TAR") { $mimetype="application/x-tar";}
       elsif (uc($ext) eq "EXE") { $mimetype="application/octet-stream";}	

      my $size = -s "$file";
        
 
      open(INFILE, "$file") || die &img_not_found;
	binmode(INFILE);
	binmode(STDOUT);
	print "Content-type: $mimetype\n\n";
	while (<INFILE>) {
        print $_;
	}
	close(INFILE);
   

      } #binary mode file


The mime type is correctly set (I am sure as I debugged it step by step and printed \
out everything at each step).  The output (downloaded file) is perfectly working for \
.doc files and for .zip files (the ones I tried).

But for PDFs, the output is all the time a 2kb with the PDF header and binary parts. \
But nothing to do with the original PDF. 

Any suggestions? I tried with an IIS server on WinNT and Sambar server on WinNT. 
Can anyone test the code above or give further suggestions?

Thanks

_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic