Yes i have abandoned symlink idea- I am doing what ikegami suggested. The octet stream thingie.It works marvelous.
Here's the chunk of code..
# the SV hash is non-tainted data, that means at this point the data is
# coming from the server, not the client
# $SV{file_selected_path} is the path to the file in the document
# directory, here there are multiple directories etc
# here we make ugly/azz/filename.pdf to filename.pdf
my $filename = $SV{file_selected_path};$filename=~s/^.+\///;
# $DOC has the absolute path on server to the documents directory
my $FILE;
if (!open($FILE, '<',"$DOC/$SV{file_selected_path}")) {
print "Location: $WWW/?sorry\n\n";
exit;
}
# the next code line makes it so if you go to download.cgi,
# the user gets prompted to do what with filename.pdf, cute.
print(qq|Content-Disposition: attachment; filename="$filename"\n
Content-Type: application/octect-stream\n\n|);
binmode(STDOUT);
binmode($FILE);
$/ = \1024; # Read in blocks of 1024 bytes;
print while <$FILE>;
exit;
In reply to Re^2: at job help ?
by leocharre
in thread at job help ?
by leocharre
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |