为了向客户提供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;
}