我的 Blazor Web 應用程式需要顯示 pdf 檔案。它適用于 Firefox,但不適用于 chrome。這是代碼:
<embed src="data:application/pdf;base64,@QuoteModel.Base64EngineeringDrawing" style="overflow:auto;width:800px;height:1000px" />
該檔案存盤在變數 Base64EngineeringDrawing 中。
這是它在 Firefox 中的外觀:

但在 Chrome 中它是空的。檢查顯示

用 iframe 替換嵌入沒有幫助。

如何解決這個問題?
uj5u.com熱心網友回復:
iFrame 的正確使用是沿著
<iframe height="500" width="500" src="http://google.com"></iframe>
請注意不是用于的單獨終止符<embed />
使用帶有嵌入式 datauri 的 iframe 時:可能存在服務器系統和客戶端瀏覽器限制,因此首先測驗 10KB 以下的檔案,然后再次確保測驗檔案小于 1.5MB,因為這些可能是常見的障礙/阻礙。
對于 PDF 尤其是作為應用程式格式,每個瀏覽器處理 PDF 資料的方式都不同,具體取決于 html 結構和用戶設定。因此,推薦的方法是提供帶有 <a href="filename link" 的預覽縮略圖的可選影像以供下載,因為行內查看取決于客戶的偏好。
通常我在 Edge 和其他瀏覽器中的設定是詢問,如何處理傳入的 PDF
在 Windows 上的 Firefox 中,帶有 base64 資料的 iFrame 應該提供這樣的選項

當 Edge 設定為默認 PDF 查看器并可能立即顯示框架時,Edge 可能無法提供用戶控制

如果我使用 Palemoon 或 Waterfox(基于 Firefox),框架是空白的,因為我更喜歡大多數 PDF 下載,并在 SumatraPDF 中在線或離線打開(取決于頁面結構)

在最近的 Firefox 中,不同的構造可能表現不同,因為在 97 版前后/之后發生了與安全相關的更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/468032.html
