在新选项卡中显示base64编码数据

问题描述 投票:0回答:1
javascript reactjs
1个回答
1
投票

数据 URI 在浏览器中具有长度限制(我不记得了),因此您可以采取的措施来克服此问题是将数据 URI 转换为这样的 blob-URL...

function DataUri2Blob(dataURI){

var B=atob(dataURI.split(',')[1]), L=B.length, A=[];

var Mime=dataURI.split(',')[0].split(':')[1].split(';')[0];

for(let i=0; i<L; i++){A.push(B.charCodeAt(i));}

return new Blob([new Uint8Array(A)],{type:Mime});}

使用...

var dataURI='data:image/png;base64,.....';

let Blob=DataUri2Blob(dataURI);

let Url=URL.createObjectURL(Blob);

然后在新窗口/选项卡中启动 Url 变量。

两秒后...

URL.revokeObjectURL(Url);
© www.soinside.com 2019 - 2024. All rights reserved.