php - 使用 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 传输”。有什么建议吗?
解决方案
只需下载 pdf 文件,您无需将其保存在本地服务器上。您不需要发送内容长度,因为这应该自动完成,我也会跳过内容传输编码。
如果还没有输出,您也可以跳过处理输出缓冲区。
尝试这个:
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=my.pdf');
echo $row['PDF_FILE_STORED'];
推荐阅读
- excel - 如何将单元格的格式重置为表格中设置的格式?
- web - 在 Weblogic 12.1.3 中部署 Web 应用程序时出现错误消息
- c# - C# POCO(EF Core)中的地理点
- css - 有没有办法将 bootstrap 4 与 Sass 而不是 SCSS 一起使用?
- php - 如何使用 PHP 以编程方式获取本周的 startDay?
- javascript - 将 ASP.NET 会话传递给 jQuery
- php - WordPress 和 One.com - 自定义页面 PHP 调用
- sql - 结果分组情况
- r - 将列表缩减为按时间排序的 xts 对象
- python - Python如何添加数据框的两个元素保持结果之前