我开发了一个系统,可以解析电子邮件并将其存储到 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 - 从 MySQL 中的 BLOB 读取 pdf 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55418113/