返回HTML页面,前端用window.open或iframe打开,不能用fetch。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
48 行
1.2 KiB
Markdown
48 行
1.2 KiB
Markdown
# 管理端文件预览接口使用说明
|
||
|
||
**日期**: 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="">` 直接引用。
|