解释为文档但使用MIME类型application / pdf进行传输

时间:2017-05-09 12:25:08

标签: javascript php jquery pdf

为了向客户提供PDF文件,以下请求被发送到php文件,该文件将pdf编码为base64服务器端并将其发送回客户端,并将其添加到iframe:

var request = $.ajax({
    url: "get-base64-pdf.php",
    type: "POST",
    data: {sessionid : sessionid},
    dataType: "text"
});

request.done(function(msg){
    $('#iframe').attr("src", "data:application/pdf;base64," + msg);
});

该脚本可以运行,但是来自jquery(jquery-3.1.1.min.js:4)的错误消息在控制台中出现:

资源被解释为文档但使用MIME类型application / pdf传输:"数据:application / pdf; base64,

然后是base64中的整个pdf。我猜这是因为数据类型设置为" text"但如果改为" application / pdf"它将无效。有没有人知道是否有办法解决问题或抑制控制台中的警告?

修改

php脚本像这样服务于base64:

    $b64Doc = chunk_split(base64_encode(file_get_contents("$Report")));

    if($b64Doc){
        header("Content-type: application/pdf");
        echo $b64Doc;
    } else {
        echo -1;
    }

0 个答案:

没有答案