如何检索存储为MySQL介质blob的原始pdf



一个包含近4000条记录的表为每个包含该记录的相关PDF报告的记录都包含一个中等Blob字段。在MySQL Workbench和phpMyAdmin下,相关的DOCUMENT列将数据显示为BLOB按钮或链接。在phpMyAdmin的情况下,链接还指示Blob包含的数据的大小。

问题是,当单击Blob按钮/链接时,在MySQL Workbench下,使用SQL编辑器打开任何文件都只显示原始Blob数据,而在phpMyAdmin下,th链接只允许将Blob数据保存为.bin文件,而不是将数据显示或保存为可查看的PDF文件。以前所有使用PHP检索原始Pdf的尝试都失败了-请参阅前面的相关线程:从MySql Dump提取保存为文本的Pdf。

表中的文件名字段显示所有存储的文件都是PDF文件。进一步的研究和测试表明,介质blob数据已被存储为应用程序/八位字节流。

我的问题是,如何将原始PDF检索为可读PDF?从数据库中保存的.bin文件是否可以转换或用于恢复原始PDF文件?

如有任何协助,我们将不胜感激。

根据我的假设和Isaac的建议,唯一的解决方案是能够与其中一位软件开发人员交谈。据了解,文档已经使用第三方库进行了压缩,并且在存储到数据库中之前删除了头。使用的第三方库是Chilkat的2.0.50727版本,可从www.chilkatsoft.com获得。该版本似乎不再可用,但希望至少有一个更高版本可以完成这项工作。再次感谢大家的投入和帮助。

根据评论中的讨论,听起来您需要参考原始源代码或咨询原始开发人员,以确定数据的确切存储方式。

使用phpMyAdmin将mediablob数据作为文件下载在许多情况下会下载.bin文件,我实际上不记得它是如何确定内容类型的(例如,PNG文件将以.PNG扩展名下载,但大多数其他二进制文件只是以.bin下载,当phpMyAdmin不确定扩展名应该是什么时,包括PDF(。因此,您在phpMyAdmin中看到的行为是预期的,也是正确的,但由于.bin文件在重命名为.pdf时不起作用,这意味着导入和上传可能出现了问题。

BLOB数据通常以非常标准化的方式存储,但您的数据似乎没有遵循这种方法。

如果我们不直接看到代码,我们就无法猜测存储数据的具体情况,只能猜测。

最新更新