使用HTML和javascript显示和下载二进制文件
我一直在尝试显示和下载一个二进制(八位字节流)文件,该文件是我从API的响应中获得的 我尝试将该文件转换为base64,并在href和iframe中显示它,并直接使用其矿山类型(Application/pdf)和默认类型(Application/octet stream)显示该文件,但上述操作均无效使用HTML和javascript显示和下载二进制文件,javascript,html,file,vue.js,binary-image,Javascript,Html,File,Vue.js,Binary Image,我一直在尝试显示和下载一个二进制(八位字节流)文件,该文件是我从API的响应中获得的 我尝试将该文件转换为base64,并在href和iframe中显示它,并直接使用其矿山类型(Application/pdf)和默认类型(Application/octet stream)显示该文件,但上述操作均无效 data: "PDF-1.7 %���� 301 0 obj <</Linearized 1/L 366634/O 303/E 356306/N 1/T 366300/H [ 900 4
data: "PDF-1.7
%����
301 0 obj
<</Linearized 1/L 366634/O 303/E 356306/N 1/T 366300/H [ 900 415]>>
endobj
462 0 obj
<</DecodeParms<</Columns 5/Predictor
12>>/Filter/FlateDecode/ID[<C63CE28E0F04F6408738C45693E2B214>
<EE45F3FA04D9F349A93DBCE0FF820FE0>]/Index[301 176]/Info 300 0 R/Length
339/Prev 366301/Root 302 0 R/Size 477/Type/XRef/W[1 3 1]>>stream
hެ��/DA������-�V�,�(44J�F����F$�V!*�(6!����D)�/
����uZ�h�[8'���
䗓;g�ޙ�bL�Xc�>����ͫS�d^Új[uO�q�ur�֏ʊx�m���f^x-n��ln�R$.��
������=��?c�9��P㮈
�(�S��q��)�`��&y�ρK�a�֎�O�;�� �r��KH.....
content-length: "366634"
content-type: "application/octet-stream"
数据:“PDF-1.7
%����
301 0 obj
endobj
4620 obj
流动
hެ��/DA������-�v�,�(44J�F����F$�V*�(6!����(D)�/
����乌兹�H�[8'���
䗓;G�ޙ�基本法�Xc�>����ͫS�dÚj[uO�Q�乌尔�֏ʊx�M���f^x-n��自然对数�R$。��
������=��?C�9��P㮈
�(� S��q��)�`��&Y�ρK�A.�֎�O�;�� �R��KH。。。。。
内容长度:“366634”
内容类型:“应用程序/八位字节流”
当我尝试用innerHTML在窗口中显示文件时,我得到“加载pdf文档时出错”,图像文件也是如此
有没有一种方法可以正确地将文件转换为base64并显示/下载它(我以前已经这样做了,但API响应是base64文件),或者只按原样以八位字节流显示文件。您的选项:
- 将iframe的
设置为从中获取PDF数据的URLsrc
- 将文件转换为
方案URL,并将其插入iframe的数据:
src
- 查找用于呈现PDF文件的JS库
innerHTML
所做的-在属性名称中有一个线索)。PDF不是HTML。您的选项:
- 将iframe的
设置为从中获取PDF数据的URLsrc
- 将文件转换为
方案URL,并将其插入iframe的数据:
src
- 查找用于呈现PDF文件的JS库
您不能从PDF文件中获取数据,然后告诉浏览器将其视为HTML(这就是将数据注入
innerHTML
所做的-在属性名称中有一条线索).PDF不是HTML。谢谢您的回答@Quentiin,有没有办法将请求头添加到iframe src?因为我花了两天时间尝试了选项2和3。“有没有办法将请求头添加到iframe src?”“-不。谢谢你的回答@Quentiin,有没有办法将请求头添加到iframe src?因为我花了2天时间尝试了选项2和3。”“有没有办法将请求头添加到iframe src”-没有。