首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iframe显示MIME警告pdfmake:资源解释为文档,但使用MIME类型的application/pdf传输:

iframe显示MIME警告pdfmake:资源解释为文档,但使用MIME类型的application/pdf传输:
EN

Stack Overflow用户
提问于 2018-01-05 19:37:12
回答 1查看 6K关注 0票数 0

我们正在使用Vue.js编写一个SPA。我们希望生成一个pdfMake,并为此目的使用pdfMake(在npm中有此名称的包)。

根据文档,为了查看<iframe>中的PDF,您可以简单地将生成的pdf添加到<iframe>src属性。

代码语言:javascript
复制
const pdfDocGenerator = pdfMake.createPdf(docDefinition);
pdfDocGenerator.getDataUrl((dataUrl) => {
    const targetElement = document.querySelector('#iframeContainer');
    const iframe = document.createElement('iframe');
    iframe.src = dataUrl;
    targetElement.appendChild(iframe);
});

然而,这引发了一个警告:

代码语言:javascript
复制
Resource interpreted as Document but transferred with MIME type application/pdf: "data:application/pdf;base64,JVBERi0xLjMKJf////8KOCAwIG9iago8PAovVHlwZSAvRXh0R1N0YX ...

<iframe>有关的html代码是:

代码语言:javascript
复制
<iframe id="idIframe" type="application/pdf"
          class="col s12" style="height:100%;"
          ></iframe>

Javascript:

代码语言:javascript
复制
this.pdfObject = pdfMake.createPdf(contentDefinition);
this.pdfObject.getDataUrl((dataUrl) => {
    const iframe = document.querySelector('#idIframe');
    iframe.src = dataUrl;
});

这种情况发生在Chrome浏览器版本63.0.3239.108 (Official Build) (64-bit)中。

如果你需要更多的信息,就告诉我!

Thx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-30 01:01:01

终于来了。只需使用embed节点而不是iframe

代码语言:javascript
复制
<embed height="100%" class="col s12" id="idIframe" src="about:blank" type="application/pdf">
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48120204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档