API 文档
完整的 WiZs图床 API 参考文档 - 轻松集成到你的应用
21
图片总数
87
总访问量
50 MB
最大文件
21
上传总数
📚 API 概览
WiZs图床 API 基于 RESTful 架构设计,支持跨域请求。所有请求和响应均使用 JSON 格式。
通用请求头
| 参数 | 说明 |
|---|---|
| Content-Type | application/json 或 multipart/form-data(上传时) |
| X-API-Key | API 密钥(可选,部分接口需要) |
🔐 认证方式
上传接口需要身份验证。你可以通过以下三种方式进行认证:
方式一:token 参数(推荐,与 EasyImages2.0 兼容)
在 POST 数据中添加 token 参数:
方式二:X-API-Key 请求头
在请求头中添加 X-API-Key:
方式三:会话认证(浏览器内使用)
如果用户在浏览器中已登录,图床上传页面会自动使用会话进行认证。
如何获取 API 密钥?
- 登录 WiZs图床 后访问 个人中心
- 在左侧「API 密钥」区块点击「创建密钥」按钮
- 输入密钥名称(如:我的网站)
- 复制生成的 API 密钥
📤 上传文件(图片/视频)
请求参数 (multipart/form-data)
| 参数 | 类型 | 说明 |
|---|---|---|
| image / file 必填 | File | 要上传的文件(字段名支持 image 或 file) |
| token | string | API密钥(可替代 X-API-Key 头) |
支持的图片格式: jpg, jpeg, png, gif, webp, bmp, svg
支持的视频格式: mp4, webm, avi, mov, wmv, mkv, m4v
HTML 表单示例
cURL 示例
JavaScript (jQuery) 示例
Python 示例
响应示例(图片)
响应示例(视频)
错误响应
📋 获取文件列表
查询参数 (URL Query)
| 参数 | 类型 | 说明 |
|---|---|---|
| page | int | 页码,从 1 开始(默认:1) |
| per_page | int | 每页数量,范围 1-100(默认:20) |
| order_by | string | 排序字段:created_at, views, file_size(默认:created_at) |
| order_dir | string | 排序方向:ASC, DESC(默认:DESC) |
请求示例
响应示例
🗑️ 删除文件
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| hash 必填 | string | 上传成功后返回的 del 链接中的 hash 参数 |
请求示例 (cURL)
响应示例
JavaScript 示例
🔄 JSON 文件同步
提供多设备间的JSON文件同步功能,支持版本控制和冲突处理。灵感来源于 Git 的版本管理理念。
核心特性
- 自动版本控制 - 每次更新自动递增版本号
- 冲突检测 - 检测多设备同时修改产生的冲突
- 历史保存 - 所有版本完整保留,可随时回溯
- 设备管理 - 追踪同步设备,记录最后同步时间
- 文件大小限制 - 最大支持 50MB 的 JSON 文件
API 端点概览
| 端点 | 方法 | 说明 |
|---|---|---|
| /api/v1/json/sync.php | POST | 推送/上传JSON文件 |
| /api/v1/json/sync.php | GET | 拉取最新JSON文件 |
| /api/v1/json/history.php | GET | 获取历史版本列表 |
| /api/v1/json/pull.php | GET | 拉取特定版本 |
| /api/v1/json/devices.php | GET | 获取设备列表 |
| /api/v1/json/conflicts.php | GET | 获取冲突列表 |
📤 推送 JSON(上传/更新)
请求参数 (application/json 或 multipart/form-data)
| 参数 | 类型 | 说明 |
|---|---|---|
| file_key 必填 | string | 文件唯一标识(如 "user_settings", "app_config") |
| content 必填 | object/string | JSON内容(对象或字符串) |
| device_id 必填 | string | 设备唯一标识 |
| device_name | string | 设备名称(可选) |
| message | string | 版本描述信息 |
请求示例
成功响应
冲突响应
📥 拉取 JSON(获取最新)
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| file_key 必填 | string | 文件唯一标识 |
| since_version | int | 获取此版本之后的更新(用于增量同步) |
请求示例 - 获取最新版本
请求示例 - 获取增量更新
响应示例(最新版本)
响应示例(增量更新)
📜 历史版本查询
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| file_key 必填 | string | 文件唯一标识 |
| page | int | 页码,默认 1 |
| per_page | int | 每页数量,默认 50,最大 100 |
请求示例
响应示例
⚠️ 冲突处理
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| file_key | string | 筛选特定文件的冲突 |
| resolved | int | 0=未解决,1=已解决,默认 0 |
请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
| id 必填 | int | 冲突ID |
| action 必填 | string | resolve_keep_local / resolve_keep_remote / resolve_custom |
| content | object | 当 action=resolve_custom 时需要提供 |
请求示例 - 保留本地版本
请求示例 - 自定义合并
⚠️ 错误码
所有错误响应都包含 result: "error" 和 code 字段。
| code | error 消息 | 说明 |
|---|---|---|
| 400 | No file uploaded | 未上传文件 |
| 400 | Invalid file type | 不支持的文件类型 |
| 400 | File too large | 文件大小超过限制 |
| 401 | Login required or invalid token | 未提供有效认证 |
| 401 | Invalid API key | API 密钥无效 |
| 403 | Video upload disabled | 视频上传已禁用 |
| 404 | File not found | 文件不存在 |
| 405 | Method not allowed | 不支持的请求方法 |
| 413 | File too large | 请求体过大 |
| 500 | Upload failed | 服务器上传失败 |