# 管理端文件预览接口使用说明

**日期**: 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="">` 直接引用。
