Skip to content

单文件上传

直接上传单个文件,适用于小文件。

基本信息

项目
方法POST
路径{globalDomain}/ous/api/v2/single/upload
认证ous-token-v2
Content-Typemultipart/form-data

说明

globalDomainousToken获取上传 Token 接口返回。

Request

Query Param

参数必须类型说明
fileMultipartFile文件内容
md5string文件 MD5 值
metadatastring元数据
customPrefixstring自定义存储前缀
customFilenamestring自定义文件名

Example

bash
curl -X POST 'https://{globalDomain}/ous/api/v2/single/upload' \
  -H 'ous-token-v2: {ousToken}' \
  -F 'file=@/path/to/image.jpg' \
  -F 'md5=c2ce57814593ae4e9fa8f1f473a3ed47'
python
import requests
import hashlib

# 计算 MD5
with open('image.jpg', 'rb') as f:
    md5 = hashlib.md5(f.read()).hexdigest()

url = f"{globalDomain}/ous/api/v2/single/upload"
headers = {"ous-token-v2": ousToken}

with open('image.jpg', 'rb') as f:
    files = {'file': f}
    data = {'md5': md5}
    response = requests.post(url, headers=headers, files=files, data=data)
javascript
const formData = new FormData();
formData.append('file', fileBlob);
formData.append('md5', md5Value);

const response = await fetch(
  `https://${globalDomain}/ous/api/v2/single/upload`,
  {
    method: 'POST',
    headers: { 'ous-token-v2': ousToken },
    body: formData
  }
);

Response

数据结构

json
{
  "c": "0",
  "d": {
    "taskId": "upload_task_id"
  }
}

字段说明

字段类型说明
taskIdstring上传任务 ID

下一步

上传后需要轮询 查询状态 接口,直到 status5 表示上传成功。

注意

轮询间隔建议 200ms 以上。