php - 从 MySQL 中的 BLOB 读取 pdf 内容

标签 php mysql pdf blob

我开发了一个系统,可以解析电子邮件并将其存储到 MySQL 数据库中。 我将附件作为 JSON 对象数组保存到 MEDIUMBLOB 字段中。 一切都几乎按预期进行。至少在保存时。 当我尝试阅读附件时,我只能取回图像,但不能取回 pdf 文件。

BLOB 具有以下“虚拟”内容:

[
{
"filename":"img1.png", "ext":"png", "type": "image/png", "size":4096, 
"dispo":"inline", "cid":"123@abc", "content":"base64_encoded binary- 
data"
},
{
"filename":"pdf1.pdf", "ext":"pdf", "type": "application/pdf", 
"size":4096, "dispo":"attachment", "cid":null, 
"content":"base64_encoded binary-data"
}
]

附件写法如下: json_encode($attachmentsDB,JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)。

我进行了调试,但不知何故,当我从数据库获取数据 BLOB 时 - 在这种情况下 - 最后一个元素 = pdf 文件未返回。仅前面的图像文件。

当我对数据进行硬编码并尝试我的代码时,它工作得很好。 数据也没有被截断。

看来不是内存问题

如果有人能给我提示吗...?

提前非常感谢

最佳答案

在数据库中存储大数据是个坏主意,因为大多数情况下它会让你的服务器变慢。 相反,您可以通过 php 脚本将 pdf 复制到文件夹中,然后将其引用存储在 sql 数据库中...

现在您可以轻松地从数据库中读取 pdf 内容..

或者你可以检查这个

PHP: Upload a Pdf to SQL Database

关于php - 从 MySQL 中的 BLOB 读取 pdf 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55418113/

相关文章:

javascript - 在 javascript 和 PHP 之间发送 JSON 字符串的正确方法是什么?

mysql - 避免一对多关系中的许多查询的最佳方法

php - 选择其中 - 自定义订单

php - window.open向php传递参数并触发pdf创建和查看

html - Force to open "Save As..."popup open at text link click for PDF in HTML

php - Css 类通过 php 添加但没有样式

php - 覆盖购物车中现有产品的产品数量 -Woocommerce

php - Laravel Voyager 管理菜单链接不正确

php - 生成唯一 ID

iOS #include "mupdf/fitz.h"未找到问题