POST
/api/v2/upload 兼容接口 上传图片(V2)
兼容 ImgURL 旧客户端的上传接口,仅老用户可用,后续将下线,不再推荐使用。
参数和返回结构都与 V3 不同,新接入请直接使用上传图片(V3)。
说明
- 保留用于老的图床客户端,返回字段沿用旧格式;
- 需要同时传
uid和token(Token 在控制台 → 开放接口获取,V3 只用请求头里的 Token); - 所有账号都可以用自己账号下的 Token 调用,不要求特殊类型。
接口信息
| 项目 | 说明 |
|---|---|
| 接口地址 | https://www.imgurl.org/api/v2/upload |
| 请求类型 | POST |
| 表单类型 | multipart/form-data |
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | file | 是 | 支持 JPG、PNG、GIF、BMP、WebP |
| uid | string | 是 | 账号 UID,在个人中心可以看到 |
| token | string | 是 | 开放接口 Token,必须属于上面的 uid 且状态有效 |
| album_id | int | 否 | 相册 ID,默认 0(默认相册) |
请求示例
curl --location --request POST 'https://www.imgurl.org/api/v2/upload' \
--form 'uid="你的UID"' \
--form 'token="sk-xxx"' \
--form 'file=@"/path/to/image.jpg"'
成功响应
{
"code": 200,
"msg": "success",
"data": {
"relative_path": "imgs/2022/03/30/f4a2eeb2689f9c19.jpg",
"url": "https://www.imgurl.org/imgs/2022/03/30/f4a2eeb2689f9c19.jpg",
"thumbnail_url": "https://www.imgurl.org/imgs/2022/03/30/f4a2eeb2689f9c19_thumb.jpg",
"image_width": 1080,
"image_height": 810,
"client_name": "sanc1.jpg",
"id": 0,
"imgid": "f4a2eeb2689f9c19",
"delete": ""
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 200 成功,-1000 失败 |
| msg | string | 成功时为 success,失败时为错误信息 |
| data.relative_path | string | 图片相对路径 |
| data.url | string | 图片访问地址 |
| data.thumbnail_url | string | 缩略图地址,没有生成缩略图时与 url 相同 |
| data.image_width | int | 图片宽度 |
| data.image_height | int | 图片高度 |
| data.client_name | string | 上传时的文件名 |
| data.id | int | 图片序号 |
| data.imgid | string | 图片唯一 ID |
| data.delete | string | 删除地址;当前版本固定返回空字符串,删除请用删除图片接口 |
失败响应
{
"code": -1000,
"msg": "invalid.token",
"data": null
}
| msg | 说明 |
|---|---|
| invalid.token | uid 或 token 不正确,或 Token 已禁用 |
| Exceeds the maximum size limit of xMB | 文件超过套餐单张上限 |
| unsupported.image.format | 不是受支持的图片格式 |
| invalid.image | 图片已损坏、无法解码或宽高读取失败 |
| image.too.small | 图片尺寸过小,宽或高小于 8 像素 |
| image.too.large | 图片尺寸超出限制(单边超过 30000 像素或总像素超过 1 亿) |
| no.sub | 账号没有有效套餐 |
| storage.quota.limit | 存储空间已满 |
演示代码
下面的 HTML 仅作表单结构演示。把 uid 和 token 写进网页源码会泄露账号权限,正式环境不要这么用。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>上传测试</title>
</head>
<body>
<form enctype="multipart/form-data" method="post" action="https://www.imgurl.org/api/v2/upload" id="upform">
<input type="text" name="uid" value="你的UID" hidden>
<input type="text" name="token" value="sk-xxx" hidden>
<input type="file" name="file">
<input type="submit" value="开始上传">
</form>
</body>
</html>