Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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显示和下载二进制文件_Javascript_Html_File_Vue.js_Binary Image - Fatal编程技术网

使用HTML和javascript显示和下载二进制文件

使用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

我一直在尝试显示和下载一个二进制(八位字节流)文件,该文件是我从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 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的
    src
    设置为从中获取PDF数据的URL
  • 将文件转换为
    数据:
    方案URL,并将其插入iframe的
    src
  • 查找用于呈现PDF文件的JS库
您不能从PDF文件中获取数据并告诉浏览器将其视为HTML(这就是将其注入
innerHTML
所做的-在属性名称中有一个线索)。PDF不是HTML。

您的选项:

  • 将iframe的
    src
    设置为从中获取PDF数据的URL
  • 将文件转换为
    数据:
    方案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”-没有。