diff --git a/changelogs/2026-03/2026-03-23_pdf_preview_frontend_fix.md b/changelogs/2026-03/2026-03-23_pdf_preview_frontend_fix.md new file mode 100644 index 0000000..7b8ffc3 --- /dev/null +++ b/changelogs/2026-03/2026-03-23_pdf_preview_frontend_fix.md @@ -0,0 +1,49 @@ +# 保单PDF预览"暂不支持在线预览"— 前端渲染问题 + +**日期**: 2026-03-23 +**类型**: 前端 BUG + +--- + +## 问题 + +保单 PDF 预览弹窗显示"该文件类型暂不支持在线预览",但后端已正确返回 539KB 的 PDF 二进制流。 + +## 对比 + +| 场景 | 接口 | 大小 | 结果 | +|------|------|------|------| +| 素材PDF(能预览) | `/{fileId}/preview` | 1815KB | ✅ PDF预览组件正常渲染 | +| 保单PDF(不能预览) | `/preview-by-url?url=` | 539KB | ❌ 显示"暂不支持" | + +两个接口返回的都是 PDF 二进制流(Content-Type: application/pdf),后端没区别。 + +## 原因 + +前端对 `/{fileId}/preview` 用了 PDF 预览组件(如 pdf.js),但对 `preview-by-url` 没有走相同的渲染逻辑。 + +## 修复方式(任选一种) + +### 方式1:iframe 直接显示(最简单) +```javascript +// 弹窗内用 iframe,浏览器原生支持 PDF 渲染 +