GET /api/v1/media/**
通过 storageKey 获取文件内容。storageKey 为上传时返回 URL 中 /api/v1/media/ 之后的部分,格式为 {yyyyMM}/{ULID}{ext}。
示例
GET /api/v1/media/202605/01ARZ3NDEKTSV4RRFFQ69G5FAV.jpg
查询参数(可选)
不携带任何参数时返回原始文件(行为不变)。携带任意参数时按需经 imgproxy 对图像进行实时变换(缩放 / 转码),对非图像文件传变换参数将返回错误。
| 参数 | 取值 | 默认值 | 说明 |
|---|---|---|---|
w |
正整数 1–4096 | 无 | 目标宽度(px) |
h |
正整数 1–4096 | 无 | 目标高度(px) |
format |
jpeg / png / webp / avif |
源文件格式 | 输出格式 |
q |
1–100 | imgproxy 默认(约 80) | 质量,仅对 jpeg / webp / avif 生效 |
resize |
fit / fill |
fit |
缩放方式,仅在给定 w / h 时生效。fit = 包含(不裁剪);fill = 覆盖(裁剪溢出部分) |
说明
?format=webp 时只转码不缩放。resize 仅在给定 w / h 时生效;仅指定 w 或 h 时另一边按比例缩放。变换示例
GET /api/v1/media/202605/01ARZ3NDEKTSV4RRFFQ69G5FAV.jpg?w=800&h=600&format=webp
响应
返回文件的二进制流,Content-Type 使用上传时 Apache Tika 检测的真实 MIME 类型。携带 format 参数时,Content-Type
与输出格式一致。
HTTP/1.1 200 OK
Content-Type: image/jpeg
<binary data>
注意:此端点不返回
ApiResponse包裹结构,直接返回文件内容。
错误
| HTTP 状态 | code | 说明 |
|---|---|---|
| 404 | 5001 | 媒体文件不存在 |
| 400 | 1103 | 无效的请求 URI |
| 400 | 1101 | 查询参数无效、超范围或为未知参数 |
| 500 | 1900 | 变换后端不可用(imgproxy 不可达或异常) |