javascript - 在网页中嵌入 PDF 文件:content-type octet-steam
问题描述
我正在开发一个 Angular Web 应用程序,它需要在网页内显示来自远程服务器的 PDF 文件。
为此,我使用了iframe 。这里的“路径”是远程服务器中 pdf 的 URL。
<iframe class="embed-responsive-item" [src]="path | safe"></iframe>
在我进入生产环境之前,使用测试 pdf 文件可以正常工作。当页面打开时,PDF 将被下载而不是显示。一点点挖掘表明问题在于响应标头包含 content-type: application/octet-stream而不是application/pdf。
我一直在尝试寻找解决方案。我发现更改内容类型标头的建议会起作用。但在这种情况下,它是我无法控制的远程服务器。
我还尝试了其他标签,例如embed。它可以指定文件类型。
<embed [src]="path | safe" type="application/pdf" width="300" height="200">
它仍然不起作用并显示一个空白框。
任何帮助是极大的赞赏。
更新:我发现 PDF 文件服务器也不支持 CORS 请求。多么激动人心!
我重新访问了 ng2-pdf-viewer,它看起来还不错,但它需要 CORS。同样的原因 pdf.js 不起作用。猜猜这给我留下了代理服务器解决方案。谢谢大家帮助。
解决方案
推荐阅读
- r - 加载时无法将 col 类型更改为因子
- node.js - 在 Ubuntu 18.04 上安装 node-sass 失败
- javascript - 即使未选择 react-tabs 组件也会更改状态
- react-native - Bugsnag 无法读取未定义反应本机的通知
- r - R中的三变量堆积线/面积图
- pandas - 当存在缺失值时,熊猫可以推断出正确的列吗?
- windows - 在套接字(Winsock)阻塞接收调用后处理超时
- acumatica - Acumatica 帐户详细信息与历史库存估价报告不匹配
- reactjs - 静态文件、aspnet 核心 AddSpaStaticFiles roothpath、SPA 模板的 404 错误
- javascript - 鼠标悬停