changelog: 管理端文件预览接口使用说明
返回HTML页面,前端用window.open或iframe打开,不能用fetch。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
这个提交包含在:
父节点
add542626c
当前提交
607ce2c7c5
@ -0,0 +1,47 @@
|
|||||||
|
# 管理端文件预览接口使用说明
|
||||||
|
|
||||||
|
**日期**: 2026-03-23
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 接口
|
||||||
|
|
||||||
|
```
|
||||||
|
GET /admin/file/preview-by-url?url=编码后的完整OSS_URL
|
||||||
|
```
|
||||||
|
|
||||||
|
**无需登录**(已排除认证)
|
||||||
|
|
||||||
|
## 正确使用方式
|
||||||
|
|
||||||
|
**这个接口返回的是 HTML 页面,不是 JSON。前端不能用 fetch/axios 调用。**
|
||||||
|
|
||||||
|
### 方式1:新窗口打开(推荐)
|
||||||
|
```javascript
|
||||||
|
const previewUrl = `/admin/file/preview-by-url?url=${encodeURIComponent(ossUrl)}`;
|
||||||
|
window.open(previewUrl, '_blank');
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方式2:iframe 嵌入
|
||||||
|
```html
|
||||||
|
<iframe :src="`/admin/file/preview-by-url?url=${encodeURIComponent(ossUrl)}`"
|
||||||
|
width="100%" height="600px" />
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方式3:弹窗内 iframe
|
||||||
|
```javascript
|
||||||
|
// 弹窗打开时设置 iframe src
|
||||||
|
dialogVisible.value = true;
|
||||||
|
iframeSrc.value = `/admin/file/preview-by-url?url=${encodeURIComponent(ossUrl)}`;
|
||||||
|
```
|
||||||
|
|
||||||
|
## 支持的文件类型
|
||||||
|
- PDF:内嵌 PDF.js 渲染
|
||||||
|
- 图片:直接 img 标签显示
|
||||||
|
- Office 文档:跳转在线预览服务
|
||||||
|
|
||||||
|
## 如果需要原始二进制流(img src 等场景)
|
||||||
|
```
|
||||||
|
GET /admin/file/stream-by-url?url=编码后的URL
|
||||||
|
```
|
||||||
|
返回原始文件内容,适合 `<img src="">` 或 `<video src="">` 直接引用。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户