Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从html和javascript中的二进制变量下载pdf_Javascript_Html_Node.js - Fatal编程技术网

从html和javascript中的二进制变量下载pdf

从html和javascript中的二进制变量下载pdf,javascript,html,node.js,Javascript,Html,Node.js,在数据库中,我有一个blob列,在其中保存pdf。通过查询,我将blob列的内容以二进制格式存储在字符串中 要从字符串变量“doc.file”下载pdf,我使用: 我使用pug和nodejs,为此我有一些限制,例如由于pug而使用DOM(改用jQuery),由于nodejs而使用BLOB变量 文件已打开,但为白色且为空 直接从db with workbench下载文件工作正常,我认为这是一个转换问题,也因为在文本编辑器中打开文件存在以下差异: 工作: %PDF-1.4 1 0 obj <&

在数据库中,我有一个blob列,在其中保存pdf。通过查询,我将blob列的内容以二进制格式存储在字符串中

要从字符串变量“doc.file”下载pdf,我使用:

我使用pug和nodejs,为此我有一些限制,例如由于pug而使用DOM(改用jQuery),由于nodejs而使用BLOB变量

文件已打开,但为白色且为空

直接从db with workbench下载文件工作正常,我认为这是一个转换问题,也因为在文本编辑器中打开文件存在以下差异:

工作

%PDF-1.4
1 0 obj
<<
/Title (þÿ)
/Creator (þÿ)
/Producer (þÿ Q t   5 . 5 . 1)
/CreationDate (D:20200217153210)
>>
%PDF-1.4
1 0 obj
<<
/Title (��)
/Creator (��)
/Producer (�� Q t   5 . 5 . 1)
/CreationDate (D:20200217152834)
>>
%PDF-1.4
10 obj
>
白色

%PDF-1.4
1 0 obj
<<
/Title (þÿ)
/Creator (þÿ)
/Producer (þÿ Q t   5 . 5 . 1)
/CreationDate (D:20200217153210)
>>
%PDF-1.4
1 0 obj
<<
/Title (��)
/Creator (��)
/Producer (�� Q t   5 . 5 . 1)
/CreationDate (D:20200217152834)
>>
%PDF-1.4
10 obj
>

看起来您可能有文本编码问题。你能验证一下你的数据库是否真的有UTF-8输出吗?您没有提到您使用的是什么DB,但是如果内存运行良好,我相信mySQL中的默认字符集是Latin1。是的,是Latin1(或二进制,是相同的),如果我使用workbench直接从DB保存,并在.pdf中重命名,则效果会很好。我想知道set href for如何从下载按钮执行同样的操作。