Chrome浏览器无法打开文件

问题描述:

我有一个铬浏览器很奇怪的问题。我尝试在新弹出窗口中打开文件(图像和PDF)。为了做到这一点,我使用这个功能Chrome浏览器无法打开文件

window.open('data:' + type + ';base64,' + data, '_blank', 'height=300,width=400'); 

其中我从服务器获取的类型和数据。

因此它在Opera,Mozilla和Edge中完美运行。 Popup in opera 但在Chrome中,我得到一个空的弹出窗口。 Popup in chrome

可能有人知道我该如何解决这个问题,还是这个铬错误?

使用这种

window.open('data:' + type + ';base64,' + data, '_blank', 'height=300,width=400'); 

这个代码

let byteCharacters = atob(file); 
let byteNumbers = new Array(byteCharacters.length); 
for (let i = 0; i < byteCharacters.length; i++) { 
    byteNumbers[i] = byteCharacters.charCodeAt(i); 
} 
let byteArray = new Uint8Array(byteNumbers); 
let blob = new Blob([byteArray], {type: contentType}); 

const fileURL = URL.createObjectURL(blob); 
window.open(fileURL, '_blank', 'height=300,width=400'); 

,而不是解决问题。

原因可能是硬件加速的铬。 请尝试关注道格拉斯答案以禁用它,here

+0

我试试这个,没反应。 –