嵌入未在 Chrome 中打开文档

embed does not open a document in Chrome

我的 Blazor Web 应用程序需要显示 pdf 文档。它适用于 Firefox,但不适用于 chrome。这是代码:

<embed src="data:application/pdf;base64,@QuoteModel.Base64EngineeringDrawing" style="overflow:auto;width:800px;height:1000px" />

文档存储在变量 Base64EngineeringDrawing 中。

这是它在 Firefox 中的样子:

但在 Chrome 中它是空的。检查显示

用 iframe 替换嵌入没有帮助。

如何解决这个问题?

iFrame 的正确用法是

<iframe height="500" width="500" src="http://google.com"></iframe>

请注意单独的终止符,它不是用于 <embed />

的终止符

使用带嵌入式数据 URI 的 Iframe 时:可能存在服务器系统和客户端浏览器限制,因此首先测试 10KB 以下的文件,然后再次确保测试文件低于 1.5MB,因为这些很常见 hurdles/blockers。

对于 PDF,尤其是作为应用程序格式,每个浏览器对 PDF 数据的处理都不同,具体取决于 html 结构和用户设置。因此,推荐的方法是提供带有

通常我在 Edge 和其他浏览器中的设置是询问,如何处理传入的 PDF

在 Windows 上的 Firefox 中,带有 base64 数据的 iFrame 应该提供这样的选项

Edge 可能不提供用户控制,当它设置为默认 PDF 查看器并可能立即显示框架时

如果我使用 Palemoon 或 Waterfox(基于 Firefox),框架是空白的,因为我更喜欢大多数 PDF 下载,并在 SumatraPDF 中在线或离线打开(取决于页面结构)

不同的构造在最近的 Firefox 中可能表现不同,因为存在与安全相关的更改 around/after 版本 97。