javascript - 从 PDF 中获取二进制数据(使用 JS),将其保存在 db 中并在 PHP 中取回
问题描述
我的二进制数据有问题,无法将其转换为 pdf。
我在 JS 中使用 readAsBinaryString() 来获取 pdf 文件的二进制数据。我将它存储在我的数据库中(列类型 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 文件,但据说该文件已损坏。
你有什么主意吗 ?谢谢
编辑,它正在工作!: 在将二进制数据插入 DB 之前,我将其转换为 base 64 数据。然后,在生成文件的 php 脚本中的“echo”之前,我使用 base64_decode。
它工作正常!我认为我的二进制数据已损坏,因为在将其发送到我的 php 脚本之前,我将其存储在隐藏的输入中!
解决方案
推荐阅读
- javascript - 在 JavaScript 中使用高字节和低字节将 uint16 转换为 2 字节的十六进制
- python - django-apscheduler 的后台调度程序不运行作业
- python - 无法从模块导入方法
- monaco-editor - 摩纳哥编辑器控制台错误:EditorSimpleWorker.loadForeignModule 出现意外使用
- node.js - 使用 node.js 监控 icecast
- mysql - 我不小心删除了 mysql 中的主用户,现在我没有任何访问权限
- r - 如何使用 if contains similar, then in R
- php - 如何使用变量搜索特定列数据并更新其列数据
- google-cloud-platform - 如何在 Google Cloud Platform 上为我的组织禁用结算帐户创建?
- scala - Scala Visbility 规则对包范围特征的问题,示例取自猫内部