Hi, I'm trying to display an image from a non-web accessable directory to a webpage via the code that follows. My problem is that when I run the script in Internet Explorer, it tries to download the script and then when the script runs it tries to download the image. As a result I get 2 download windows instead of just one and the image doesn't display in the browser, it opens my local image display program. When I run the script in Mozilla or Netscape 4.7, it works fine, displaying the image in the browser with no problems. Is there any trick to doing this under IE (5.5 or 6)? I found some posts about IE and it's weird mime type behavior but nothing I thought was relevant to my problem. Was I wrong? Should I be doing the mime type stuff differently?
Here's the relevant code:
my $size = (-s $filename);
# get extension for mime type
$filename =~ m/\.([^.]+)$/;
my $image_type = "image/$1";
print $cgi->header(
-Content_Type => "$image_type",
-Content_Disposition => "attachment; filename=$filename",
-Content_Length => $size,
-Expires => 'now',
);
open(IMG, "<$filename") || die "Cannot open file: $!";
# not needed under linux ??
binmode(IMG);
while( <IMG>) { print; };
close(IMG);
Thanks