Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 175
  • Last Modified:

file download creates icon of .zip, but no actual data is in the downloaded .zip

i'm using this code to download a file to my local machine.  the .pl file is located on my webserver, which is running on Windows.  i call it with URL string 'http://eladev4/cgi-bin/try.pl'.  the code is:

#!C:\perl\bin\perl.exe
use strict;

my($filepath)="c:";
my($size)= -s $filepath;
my($filename)="unitedstates1503.zip"; #filename user sees in browser
my($buf);

print "Content-type: application/octet-stream\n";
print "Content-Length: $size\n";
print "Content-disposition: filename=$filename\n\n";
open(FILE, "<$filepath") || die;
binmode FILE;
binmode STDOUT;
while (read FILE, $buf, 4096) {
     print $buf;
}    
close(FILE);

i get the download dialog, and the file seems to be downloaded, but the download dialog says that '0 bytes were transferred'.  I open the downloaded .zip file and there is nothing inside.  any ideas?  

what i'd IDEALLY like to do is call a .pl file on my webserver which then retrieves an installable .exe file off af a password protected FTP site and prints that file to the user's browser.  If you could give me some direction on a solution for this I'd be very grateful.  Thanks.

I'm a PERL newbie, so thanks for your patience...
0
nojyarg
Asked:
nojyarg
1 Solution
 
amandeepCommented:

1. $filepath should be full path to a file.. and not directory
   my($filepath)="c:\path\filename.zip";

2. Correction:
    print "Content-disposition: attachment;filename=$filename\n\n";
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now