Javascript JS Base64字符串到可下载的pdf-Edge

Javascript JS Base64字符串到可下载的pdf-Edge,javascript,html,pdf,base64,microsoft-edge,Javascript,Html,Pdf,Base64,Microsoft Edge,目前我遇到了一个问题,在所有浏览器和平台中,我都可以使用以下方法将bse64字符串转换为PDF文件: function runReport_onComplete(response) { var element = document.createElement('a'); element.setAttribute('href', encodeURI("data:application/pdf;base64," + response.Report)); element.set

目前我遇到了一个问题,在所有浏览器和平台中,我都可以使用以下方法将bse64字符串转换为PDF文件:

function runReport_onComplete(response)
{
    var element = document.createElement('a');
    element.setAttribute('href', encodeURI("data:application/pdf;base64," + response.Report));
    element.setAttribute('download', "LoginInquiry.pdf");
    element.style.display = 'none';
    document.body.appendChild(element);
    element.click();
    document.body.removeChild(element);
}
我已经做了一些研究,但我还没有找到一个解决方案,可以指定文件名,并在Edge中自动下载文件


提前感谢您的帮助。

如果我没记错的话,这是IE中的一个普遍问题,而不仅仅是Edge。可以使用msSaveOrOpenBlob()在IE中保存命名blob:


window.top.navigator.msSaveOrOpenBlob(blob,文件名)
var tF = 'Whatever.pdf';
var tB = new Blob(..);

if(window.top.navigator.msSaveOrOpenBlob){
    //Store Blob in IE
    window.top.navigator.msSaveOrOpenBlob(tB, tF)
}
else{
    //Store Blob in others
    var tA = document.body.appendChild(document.createElement('a'));
    tA.href = URL.createObjectURL(tB);
    tA.download = tF;
    tA.style.display = 'none';
    tA.click();
    tA.parentNode.removeChild(tA)
}