下载并在IE v11中打开PDF

时间:2019-04-22 19:06:26

标签: javascript ajax internet-explorer

我正在从后端发送字节数组,并尝试使用ajax和JS打开它,但是我总是损坏了无法打开的PDf。 我的代码在下面。

$.ajax({
responseType: 'application\pdf',
sucess: function (response)
{
var blob=new blob([response]),{type:'application\pdf'};
window.navigator.msSaveOrOpen(blob);
}
});

任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

首先,在成功函数中设置一个断点,然后尝试使用F12开发人员工具调试代码,并确保可以获取pdf blob。然后,使用window.navigator.msSaveOrOpenBlob()方法下载pdf文件。

代码如下:

var req = new XMLHttpRequest();
req.open("GET", "/44678.pdf", true);
req.responseType = "blob";
req.onload = function (event) {
    var blob = req.response;
    var newBlob = new Blob([blob], { type: "application/pdf" })

    // IE doesn't allow using a blob object directly as link href
    // instead it is necessary to use msSaveOrOpenBlob
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
        window.navigator.msSaveOrOpenBlob(newBlob);
        return;
    }
};

更多详细信息,您可以检查this article

编辑:请检查您的代码,Ajax方法没有请求网址,并且在成功函数中存在拼写错误。