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( ) { print; }; close(IMG);