feat: file viewer

This commit is contained in:
tao.chen
2026-08-31 15:19:46 +08:00
parent 51f1fe96bf
commit b257f6700f
6 changed files with 323 additions and 6 deletions
+10 -6
View File
@@ -28,12 +28,15 @@ curl -F "file=@report.pdf" http://localhost:8080/upload
## 配置(命令行 flag)
```text
-dir ./data/uploads 上传文件保存目录
-listen :8080 HTTP 监听地址
-ttl 24h 文件过期 TTL
-scan 1h 清理扫描间隔
-quota 10737418240 总目录配额(字节,默认 10 GB;0 = 不限)
-audit-dir ./data/audit 审计日志目录(每天一个 YYYY-MM-DD.log 文件;空字符串禁用)
-dir ./data/uploads 上传文件保存目录
-listen :8080 HTTP 监听地址
-ttl 24h 文件过期 TTL
-scan 1h 清理扫描间隔
-quota 10737418240 总目录配额(字节,默认 10 GB;0 = 不限)
-audit-dir ./data/audit 审计日志目录(每天一个 YYYY-MM-DD.log 文件;空字符串禁用)
-file-viewer-cdn https://unpkg.com/@file-viewer/web-full@3.0.0 文件预览库 CDN 地址
-file-viewer-cache ./data/file-viewer 文件预览库资源缓存目录(空字符串 = 禁用,全部 CDN 透传)
-file-viewer-ttl 0 缓存文件有效期(0 = 永久)
```
示例:把 TTL 改成 1 小时、配额 1 GB:
@@ -55,6 +58,7 @@ curl -F "file=@report.pdf" http://localhost:8080/upload
| POST | `/download-zip` | 批量下载 (body: `{"files":[...]}`, 最多 100 项) |
| POST | `/files-delete` | 批量删除 (body: `{"files":[...]}`, 最多 100 项) |
| DELETE | `/files/:filename` | 删除文件 |
| GET | `/file-viewer/*filepath` | 文件预览库资源(CDN 缓存代理) |
---