1.2 KiB
1.2 KiB
PDF 原生预览设计
日期: 2026-08-10 状态: 已批准 范围:
dsh-better-sidebar的EditorView文件预览扩展
目标
为 .pdf 增加侧边栏内预览,同时保持零新增前端依赖和现有下载降级出口。
方案
- Client 按扩展名识别
.pdf,短路fsRead的二进制探测。 PdfView通过fetch(mediaUrl(scope, path))读取字节,创建显式application/pdfBlob URL 后交给浏览器原生<iframe>,避免旧 host 或代理缓存application/octet-stream时触发直接下载。- Host media route 为
.pdf返回application/pdf。 - PDF 预览工具条始终提供“下载查看”链接。
- 不引入 PDF.js,不实现缩略图、文本搜索或自定义翻页工具栏。
错误与限制
- 是否可渲染取决于浏览器内置 PDF 查看器。
- 文件仍受现有
mediaLimit限制。 - 浏览器原生 PDF iframe 对 HTTP 错误没有统一可观测事件;下载链接作为稳定降级出口。
测试
.pdf扩展名识别为 PDF 预览。- media type helper 对
.pdf返回application/pdf。 - Typecheck、bundle purity、manifest/plugin-shape 测试通过。