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');
,而不是解决问题。
我试试这个,没反应。 –