API 文档
图片上传、WebP 预览与 SF 图标接口
Bloret Image Host 提供图片上传、原图访问和 WebP 轻量预览接口。
上传接口
POST /api/upload
上传图片后,接口会返回原图地址和 WebP 预览地址。WebP 预览由服务端按需转换,适合用于列表缩略图、文章预览和低流量展示场景。
图片访问地址
GET /img/{timestamp}/{md5} # 原图
GET /img/{timestamp}/{md5}.webp # WebP 预览
{timestamp} 和 {md5} 均来自上传成功响应。原图地址保持上传文件格式,WebP 预览地址统一输出 image/webp。
请求头 (Headers)
Content-Type: multipart/form-data
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| image | File | 是 | 要上传的图片文件 (支持 jpg, png, gif, webp) |
响应示例 (成功)
{
"success": true,
"message": "Upload successful",
"data": {
"url": "/img/1700000000000/a1b2c3d4e5f6...",
"webpUrl": "/img/1700000000000/a1b2c3d4e5f6....webp",
"timestamp": 1700000000000,
"md5": "a1b2c3d4e5f6...",
"filename": "a1b2c3d4e5f6....jpg"
}
}
响应示例 (失败)
{
"success": false,
"message": "No file uploaded"
}
图片 CURL 示例
# 上传图片
curl -X POST -F "image=@/path/to/photo.jpg" http://localhost:28888/api/upload
# 访问原图
curl "http://localhost:28888/img/1700000000000/a1b2c3d4e5f6..."
# 访问 WebP 预览
curl "http://localhost:28888/img/1700000000000/a1b2c3d4e5f6....webp"
SF 图标页面
GET /SF
打开 SF Symbols 图标浏览页面,可搜索服务器内置的 SVG 图标,并复制图标名称后用于 API 请求。
SF 图标 API
GET /SF/{name}
GET /SF/{name}?color={color}
GET /SF/{name}?color={color}&png=true
{name} 为图标文件名,支持省略 .svg 后缀;color 可传颜色名或 URL 编码后的十六进制颜色,例如 red、%231456f0。默认返回 SVG,添加 png=true 后返回 PNG。
SF 图标列表 API
GET /api/svg_files
返回服务器当前可用的 SF 图标文件名数组,供前端搜索和浏览使用。
SF 响应说明
| 接口 | 成功响应 | 失败响应 |
|---|---|---|
/SF/{name} | image/svg+xml | 404: Icon not found |
/SF/{name}?png=true | image/png | 500: Error processing icon |
/api/svg_files | JSON 字符串数组 | 500: Unable to scan directory |
SF CURL 示例
# 获取蓝色 SVG
curl "http://localhost:28888/SF/heart?color=%231456f0"
# 获取红色 PNG
curl "http://localhost:28888/SF/star?color=red&png=true"
# 获取图标列表
curl "http://localhost:28888/api/svg_files"