使用PHP从Binary SQL SERVER下载PDF

时间:2018-07-16 14:37:05

标签: php sql-server binaryfiles

我需要有关此脚本的帮助。我正在尝试将此二进制文件存储在sql server DB中。主要的问题是,每次尝试在浏览器中显示或下载该文件时,该文件都已损坏。这是我的代码:

       $binary = $row['PDF_FILE_STORED'];
        file_put_contents('my.pdf', $binary);
        header('Content-type: application/pdf');
        header("Content-Transfer-Encoding: Binary"); 
        header("Content-Length: ".filesize($binary));
        header("Content-Disposition: attachment;filename=my.pdf");
        ob_clean();
        flush();
        echo $binary;

编码方面是否存在问题?我刚刚在浏览器的控制台中收到此警告:“资源被解释为Document,但以MIME类型application / pdf传输”。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

仅下载pdf文件,无需将其本地保存在服务器上。您不需要发送内容长度,因为它应该自动完成,我也将跳过内容传输编码。

如果还没有输出,则还可以跳过处理输出缓冲区的操作。

尝试一下:

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=my.pdf');
echo $row['PDF_FILE_STORED'];