Javascript 解释为文档,但使用MIME类型应用程序/pdf传输
为了向客户端提供PDF文件,将以下请求发送到一个php文件,该文件将PDF编码到base64服务器端,并将其发送回客户端,然后将其添加到iframe:Javascript 解释为文档,但使用MIME类型应用程序/pdf传输,javascript,php,jquery,pdf,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){ $('#ifram
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;
}
将近一年后,我遇到了一个类似的问题,我的页面上的iframe要加载PDF文件以供查看。每次加载新的PDF时,Chrome都会在控制台中发出警告。我没有看到真正的问题,因为PDF文件都加载得很好,并且可以在所有测试过的浏览器中查看,但这是需要解释的。