在IE浏览器中打开pdf

时间:2021-05-06 12:36:40

标签: javascript html vue.js pdf internet-explorer

我需要在 IE 浏览器中打开 pdf 文件。有什么办法可以做到这一点。这只适用于 chrome

var byteCharacters = atob(response.data);
var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
  byteNumbers[i] = byteCharacters.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var file = new Blob([byteArray], { type: 'application/pdf;base64' });
var fileURL = URL.createObjectURL(file);
window.open(fileURL);

1 个答案:

答案 0 :(得分:1)

IE 不支持 URL.createObjectURL()。 IE 有自己的用于创建和下载文件的 API,称为 msSaveBlobmsSaveOrOpenBlobmsSaveBlobmsSaveOrOpenBlob 方法之间的区别在于前者只向用户提供一个保存按钮,而后者同时提供一个保存打开按钮。

此外,IE 没有嵌入 PDF 查看器,因此您无法在 IE 11 中直接显示 PDF。您只能在 IE 中使用 msSaveOrOpenBlob 处理 blob,然后选择打开或保存 PDF 文件:

if(window.navigator.msSaveOrOpenBlob) {
    //IE11
    window.navigator.msSaveOrOpenBlob(blobData, fileName); 
}
else{
   //Other browsers
    window.URL.createObjectURL(blobData);
    ...
}
相关问题