我正在尝试将base64
字符串转换为字节数组,并在IE中将其作为pdf
文件打开。唯一的问题是IE中不支持atob
,所以尝试使用这样的缓冲区:
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);
我成功打开了一个弹出窗口
但文件已损坏
我做错了什么?有没有更好的方法将base64
转换为IE中的字节数组?
答案 0 :(得分:1)
为了正确解码base64,它必须仅 base64数据,即它之前没有mimetype信息。
您还需要删除.toString('binary')
,以便传递缓冲区而不是字符串。