Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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/2/tensorflow/5.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
Javascript 角度:在IE中将base64字符串转换为字节数组_Javascript_Angular_Internet Explorer_Base64 - Fatal编程技术网

Javascript 角度:在IE中将base64字符串转换为字节数组

Javascript 角度:在IE中将base64字符串转换为字节数组,javascript,angular,internet-explorer,base64,Javascript,Angular,Internet Explorer,Base64,我正在尝试将base64字符串转换为字节数组,并在IE中将其作为pdf文件打开。唯一的问题是atob在IE中不受支持,因此尝试像这样使用缓冲区: let b64Data = myBase64Url.split(',', 2)[1]; var byteArray = new Buffer(b64Data ,'base64').toString('binary'); var blob = new Blob([byteArray], {type: 'application/pdf'}); window

我正在尝试将
base64
字符串转换为字节数组,并在IE中将其作为
pdf
文件打开。唯一的问题是
atob
在IE中不受支持,因此尝试像这样使用缓冲区:

let b64Data = myBase64Url.split(',', 2)[1];
var byteArray = new Buffer(b64Data ,'base64').toString('binary');
var blob = new Blob([byteArray], {type: 'application/pdf'});
window.navigator.msSaveOrOpenBlob(blob); 
我成功地得到一个弹出窗口来打开文件

但文件已损坏


我做错了什么?是否有更好的方法将IE中的
base64
转换为字节数组?

为了正确解码base64,它必须是base64数据,即之前没有mimetype信息


您还需要删除
.toString('binary')
,以便传递一个缓冲区而不是字符串。

myBase64Url
只是普通的base64数据,还是以mime类型作为前缀?您对atob有什么问题?
atob在IE中不受支持。我的base64 URL前面有pdf mimetype。这就是问题所在--需要先删除mime类型,然后才能正常工作。删除了mimetype,并尝试了相同的代码。唯一更好的是打开一个空白的pdf文件。无法查看任何数据。请参阅问题中的更新代码。您可能需要删除
.toString('binary')以及