OSS 管理端

接口文档

通用鉴权

业务服务调用 API 时必须传项目对应的 API key。每个 API key 只能操作所属项目目录,目录固定为 project-slug/

Header:
X-API-Key: oss_live_xxx
Content-Type: application/json

获取上传 URL

POST /api/v1/uploads/presign

返回一个可直接 PUT 到腾讯云 COS 的预签名 URL。服务端会自动把文件放到当前 API key 所属项目的固定目录下。

{
  "filename": "demo.txt",
  "contentType": "text/plain",
  "key": "custom-name.txt",
  "expireSeconds": 180,
  "maxSize": 104857600
}

filename 用于提取扩展名;key 可选,只能是项目目录内的相对文件路径,不需要包含 project slug。未传 key 时路径规则为 project-slug/yyyy/mm/10位随机字符.扩展名

{
  "url": "https://bucket.cos.region.myqcloud.com/project-slug/2026/07/k7x4p9m2qa.txt?...",
  "method": "PUT",
  "key": "project-slug/2026/07/k7x4p9m2qa.txt",
  "publicUrl": "https://oss.example.com/project-slug/2026/07/k7x4p9m2qa.txt",
  "headers": {
    "Content-Type": "text/plain"
  },
  "bucket": "bucket-1234567890",
  "region": "ap-chengdu",
  "expireSeconds": 180,
  "expiresAt": 1783524243,
  "contentType": "text/plain",
  "maxSize": 104857600
}
curl -X PUT "$url" \
  -H "Content-Type: text/plain" \
  --data-binary @demo.txt
PUT 到 COS 时必须带响应里的 headers,尤其是 Content-Type,否则签名可能不匹配。

删除文件

POST /api/v1/files/delete

删除腾讯云 COS 中的单个对象。只能删除当前 API key 所属项目目录下的 key。

{
  "key": "project-slug/2026/07/k7x4p9m2qa.txt"
}
{
  "deleted": true,
  "key": "project-slug/2026/07/k7x4p9m2qa.txt"
}
401 invalid api key
403 key is not in this project directory
400 invalid key