Javascript 从PDF中获取二进制数据(使用JS),将其保存在db中,然后在PHP中重新获取

Javascript 从PDF中获取二进制数据(使用JS),将其保存在db中,然后在PHP中重新获取,javascript,php,pdf,Javascript,Php,Pdf,我在将二进制数据转换为pdf时遇到问题 我在JS中使用readAsBinaryString()获取pdf文件的二进制数据。我将它存储在我的数据库中(colunm类型blob)。然后,我尝试使用以下方法在php中重新创建pdf: header('Content-Description: File Transfer'); header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename

我在将二进制数据转换为pdf时遇到问题

我在JS中使用readAsBinaryString()获取pdf文件的二进制数据。我将它存储在我的数据库中(colunm类型blob)。然后,我尝试使用以下方法在php中重新创建pdf:

header('Content-Description: File Transfer');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=' . $_POST["fileName"]);
header('Content-Transfer-Encoding: binary');

echo html_entity_decode($_POST["fileData"]);
我之所以使用实体解码,是因为我以前使用过entitieshtml(因为二进制数据包含“>”),这会破坏我的html

我可以得到一个pdf文件,但据说该文件已损坏

你知道吗?谢谢

编辑,它正在工作!:在将二进制数据插入数据库之前,我将其转换为base 64数据。然后,在生成文件的php脚本中的“echo”之前,我使用base 64_decode


工作正常!我想我的二进制数据被破坏了,因为我在将其发送到我的php脚本之前,将其存储在一个隐藏的输入中!

$\u POST[“fileName”]
包含扩展名?(name.pdf)是的!比如“test.pdf”它检测到输出是pdf,但当我打开它时,它会说Corrupted你确定二进制数据正确吗?是的,我想我找到了解决方案。在将二进制数据插入db之前,我将其转换为B64数据。然后,在“echo”之前,我使用b64_解码。这是seam工作得很好!损失了几个小时,在请求帮助后10分钟我自己就找到了解决方案:(无论如何谢谢你的帮助:)没问题;)…
$\u POST[“fileName”]
包含扩展名吗?(name.pdf)是的!就像“test.pdf”一样,它检测到输出是pdf,但当我打开它时,它会说corrupted。你确定二进制数据是正确的吗?是的,我想我找到了解决方案。在将二进制数据插入db之前,我将其转换为B64数据。然后,在“echo”之前,我使用b64_解码。真是太棒了!在请求帮助后的10分钟内,我自己找到了解决方案:(无论如何,谢谢你的帮助:)没问题;)。。。