I'm having trouble getting files to print to the screen. You can see what I've attempted to do below. What this is supposed to do is open any type of file and push it through the browser. I do know not all mime types can do this but the database only has images and pdf files but it'd be great if this would work on all possible files that the browser can load.
One of my main questions is, which MIME type should be used? I read a few lists of them and none scream "BINARY" at me. Some of the APPLICATIONs look okay but there's dozens of MIME types to try and fail with, so which do you think I should be using?
And if something is wrong with my code (or if there's a better way to push the files to the user), I'd love to hear about it.
# $location is the absolute path to the known file on the server
if ($download)
{
my $data = qq(SELECT id, fileloc, name, description FROM files WHE
+RE id = "$download");
$sth = $dbh->prepare($data);
$sth->execute() or $dbh->errstr;
my ($id, $location, $name, $desc);
$sth->bind_columns(\$id,\$location,\$name,\$desc);
if ($sth->rows < 1)
{
print "<center><b>ERROR!</b> Your download key was not found.";
exit;
}
else
{
# print special header here
binmode( STDOUT );
open (FILE, "<$location") or die "Error opening file: $!";
my ($bytesread, $buffer);
while ( $bytesread = read( $location, $buffer, 1024 ) )
{
print $buffer;
}
close (FILE);
}
}
Thanks Monks!
"Age is nothing more than an inaccurate number bestowed upon us at birth as just another means for others to judge and classify us"
sulfericacid
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.