This problem might not be entirely related to Perl, but I'm pretty sure Perl can help
solve it.
Here is the thing :
I want to be able to download a file (any kind of file) directly from my browser. I'm
using this code below :
#!/usr/bin/perl
my $size = 19456 # 19k * 1024;
my $fileName = "budget.xls"; # name of the file
my $file = "../files/edi/kfred/200104311315547.xls"; # location of the file on the
server
# Send the header
print "Content-Type: application/octet-stream\n";
print "Content-Disposition: attachment;filename=$fileName\n";
print "Content-Length: $size\n\n";
print read_file($file); # read the file from the server
sub read_file {
my($fname) = @_;
my($content);
open(FILE, "<$fname") || return '';
while(<FILE>) { $content .= $_; }
close(FILE);
$content; }
It works well with Netscape 4.7 but IE 5.5 gives me a problem.
Let say I'm on a page called test.html. The only thing this page does is offer a link
to the script above (download.pl). If I click on the link Explorer will ask me what I
want to do with the file (since I've put the application/octet-stream Content-type) :
"Save it to disk or open it"
But if I choose to save it it will save test.html AND NOT budget.xls as it should!
On the other hand, if I call download.pl directly from the location bar or if I make
test.html automaticly open a new window on load
[ onload=void(window.open('download.pl')) ] it does the trick!?
Opening a new window would not be such a problem if I wouldn't get the "Page cannot be
displayed" message in this new window, wich is not very pretty... And calling the
script from the location bar is not very usefull, since what I want is to have a list
of all my files in my browser window and simply be able to click on one to download it
to my disk.
Anyone can Help ? If you want more information to help just ask.
Thank you very much for your time.
Frédéric Fortin,
[EMAIL PROTECTED]
TPC Communications