API 接口文档
通过API接口,您可以在任何应用中上传和管理图片
您的API访问密钥
请妥善保管您的API密钥,不要泄露给他人。如果密钥泄露,请立即点击"重置"生成新密钥。
认证方式
所有API请求都需要携带您的API Token进行身份验证,支持以下三种方式:
方式一:HTTP Header(推荐)
X-API-Token: 您的API密钥
方式二:GET参数
?token=您的API密钥
方式三:POST参数
token=您的API密钥
图片上传
POST
/api/image.php?action=upload
上传一张图片到图床
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
file |
File | 是 | 要上传的图片文件(支持jpg、png、gif、webp等格式) |
category_id |
Integer | 否 | 分类ID,不传则上传到默认分类 |
成功响应示例
{
"code": 0,
"msg": "上传成功",
"data": {
"id": 123,
"url": "https://example.com/uploads/1/abc123.jpg",
"thumb_url": "https://example.com/api/thumb.php?id=123",
"original_name": "photo.jpg",
"file_size": 1024,
"width": 1920,
"height": 1080
}
}
失败响应示例
{
"code": 1,
"msg": "文件大小超出限制"
}
图片列表
GET
/api/image.php?action=list
获取当前用户的图片列表
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
page |
Integer | 否 | 页码,默认1 |
limit |
Integer | 否 | 每页数量,默认20,最大100 |
category_id |
Integer | 否 | 分类ID,不传则获取全部 |
keyword |
String | 否 | 搜索关键词 |
成功响应示例
{
"code": 0,
"msg": "获取成功",
"data": {
"list": [
{
"id": 123,
"original_name": "photo.jpg",
"url": "https://example.com/uploads/1/abc123.jpg",
"thumb_url": "https://example.com/api/thumb.php?id=123",
"file_size": 1024,
"create_time": "2024-01-01 12:00:00"
}
],
"total": 100,
"page": 1,
"limit": 20
}
}
删除图片
POST
/api/image.php?action=delete
删除指定图片(移入回收站)
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
Integer | 是 | 图片ID |
成功响应示例
{
"code": 0,
"msg": "删除成功"
}
代码示例
cURL
# 上传图片
curl -X POST "https://example.com/api/image.php?action=upload" \
-H "X-API-Token: 您的API密钥" \
-F "file=@/path/to/image.jpg"
Python
import requests
url = "https://example.com/api/image.php?action=upload"
headers = {"X-API-Token": "您的API密钥"}
files = {"file": open("image.jpg", "rb")}
response = requests.post(url, headers=headers, files=files)
result = response.json()
if result["code"] == 0:
print("上传成功:", result["data"]["url"])
else:
print("上传失败:", result["msg"])
JavaScript (Node.js)
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
const form = new FormData();
form.append('file', fs.createReadStream('image.jpg'));
axios.post('https://example.com/api/image.php?action=upload', form, {
headers: {
...form.getHeaders(),
'X-API-Token': '您的API密钥'
}
}).then(res => {
if (res.data.code === 0) {
console.log('上传成功:', res.data.data.url);
}
});
PHP
<?php
$url = "https://example.com/api/image.php?action=upload";
$token = "您的API密钥";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["X-API-Token: " . $token]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'file' => new CURLFile('/path/to/image.jpg')
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
if ($result['code'] === 0) {
echo "上传成功: " . $result['data']['url'];
}
错误码说明
| 错误码 | 说明 |
|---|---|
0 |
请求成功 |
1 |
请求失败(具体原因见msg字段) |
常见错误信息
| 错误信息 | 说明 |
|---|---|
| 请先登录 | API Token无效或未提供 |
| 文件大小超出限制 | 上传的文件超过了您的会员组限制 |
| 存储空间不足 | 您的存储空间已用完,请升级会员或删除部分图片 |
| 不支持的文件类型 | 只支持jpg、png、gif、webp等图片格式 |