首页 > 解决方案 > 使用 PHP 从 Binary SQL SERVER 下载 PDF

问题描述

我需要有关此脚本的帮助。我正在尝试将此二进制文件存储在 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;

编码方面有问题吗?我刚刚在浏览器的控制台中收到此警告:“资源解释为文档,但使用 MIME 类型应用程序/pdf 传输”。有什么建议吗?

标签: phpsql-serverbinaryfiles

解决方案


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

如果还没有输出,您也可以跳过处理输出缓冲区。

尝试这个:

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

推荐阅读