从MySQL中的BLOB读取pdf内容

问题描述 投票:0回答:2

我开发了一个系统,可以将电子邮件解析并存储到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 mysql pdf blob
2个回答
0
投票

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

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

或者你可以检查一下

PHP: Upload a Pdf to SQL Database


0
投票

非常感谢@Shadow!我将字段修改为LONGBLOB,现在看起来工作正常! :-)

© www.soinside.com 2019 - 2024. All rights reserved.