in reply to Re: File download from BLOB
in thread File download from BLOB

Combining ideas from both of you, I now have this (putting the file in a directory above the docroot so Apache can't serve it.):
$r->content_type('application/pdf'); $r->err_headers_out->add('Content-disposition' => ("attachment; filena +me=$filename")); my $fh; open($fh,"</var/www/eddie/owner_release.pdf"); binmode $fh; while(<$fh>) { $m->print($_); } close $fh; return;
And I get the same error message from Acrobat about the file being damaged. I do notice that the file is larger now than it should be. 14K -> 25K. Any other suggestions?

Replies are listed 'Best First'.
Re^3: File download from BLOB
by Eliya (Vicar) on Mar 25, 2011 at 21:34 UTC
    the file is larger now than it should be. 14K -> 25K

    How does the downloaded file differ from the original one, i.e. what are those additional 11k?  Maybe that will give you a clue as to what's going wrong.

    Other than that, I don't feel entitled to comment further, as I've never used Mason myself.  But maybe this thread will help, which makes me think there might be "issues" delivering binary content via Mason, unless you know exactly what you're doing.

    P.S. in my above reply I was thinking of binmoding the output handle, but taking a closer look, the $m->print() is not an IO::Handle method call (as I originally figured), but a Mason method call, which simply adds content to the output buffer.  In other words, binmoding won't work here.  Also, as you don't seem to be on Windows (as I infer from the above /var/www/...), there won't be any linefeed translations being done, anyway.