首页 文章

如何在新的Chrome窗口中从AJAX响应中打开PDF blob

提问于
浏览
1

我是xhr-将一些数据发布到服务器,服务器返回一个PDF,我将其作为blob处理(为了完整起见,使用iron-ajax的handle-as = "blob"属性) .
现在我想在新的浏览器窗口中显示此blob / PDF(仅限Chrome / Windows) .

我已经尝试过URL.createObjectURL(blob)和(new FileReader()).readAsDataURL(blob) - 两者都无声地失败:

方法1)

function handlePdfResponse(blob) {
    const pdfUrl = URL.createObjectURL(blob);
    window.open(pdfUrl, '_blank');
}

方法2)

function handlePdfResponse(blob) {
    const reader = new FileReader();
    reader.onloadend = function(e) {
        window.open(reader.result, '_blank');
    };
    reader.readAsDataURL(blob);
}

在这两种情况下,记录输入blob会产生:

Blob {size: 219478, type: "application/pdf"}

使用后一种方法,我可以记录reader.result(这是一个有效的数据 - uri),将其粘贴到一个新的Chrome窗口,并凝视我闪亮的PDF .

似乎没有办法调试这些方法中的任何一种 .

思考?
明显的错误?
还有什么我可以尝试的吗?

编辑:亲爱的后代:我使用的是Chrome版本55.0

1 回答

  • 0

    结果Chrome讨厌弹出窗口 . 取消阻止他们获胜 .

相关问题