我有一个从数据库中的二进制字符串生成的pdf,它总是通过PHP返回为损坏


I have a pdf generated from a binary string in the database that always returns as corrupt through PHP

二进制字符串从数据库返回,然后通过PHP使用正确的头更改传递给浏览器。返回的文件总是以损坏的形式返回,但当我在记事本中查看实际文件时,它的第一部分似乎是正确的,但随后文本变得有点疯狂。我已经上传了文件,所以你可以明白我的意思。任何关于浏览器为什么会错误地解释二进制文件的指示都将非常值得赞赏。

https://dl.dropbox.com/u/3435192/apdf44-3.pdf

好的,答案与mssql连接有关。从mssql返回到php的blob的默认"最大文本大小"是66KB。您可以在php.ini中对此进行更改。文件没有损坏,只是由于文件大小限制而不完整。文本大小限制一增加,整个文件就被下载,并且工作正常。