Skip to content

请求预签名直传:服务端鉴权 + 配额预检 + 签 PUT URL(V1 两段式第一段)

POST
/v1/versions/presign-upload

V1 两段式直传的第一段。客户端声明目标(docId 已有文档 / containerId+title 新建文档,二选一)+ 文件元信息;服务端完成鉴权与配额预检后决定对象存储位置,不接受客户端在请求体或 URL 上指定存储位置。返回 mode=presigned 时携带 presignedUrl / expiresAt / httpMethod=PUT / signedHeaders(仅 Content-Type),该 URL 限时、仅可对单个对象执行一次 PUT;当前后端不支持预签名直传时返回 mode=fallback,客户端改调 /v1/versions/upload 走 multipart 上传。客户端 PUT 完成后必须回调 /v1/versions/finalize-upload 触发 Version 建立——finalize 之前对象不构成正式 Version,不可见。content_hash 客户端可选声明、服务端不重算不校验,且不参与内容去重;直传内容与 /upload 上传内容的去重相互独立,同一内容用两种方式上传会产生独立的存储记录。

参数

请求头参数

Authorization*

访问令牌以 Bearer 方案在 HTTP Authorization 请求头携带。请在此填入完整值(含 Bearer 前缀),例如:Bearer <accessToken>

类型
string
必填
示例"Bearer <accessToken>"
X-Atk-User-Token

强通道(可选):以某已签发的 atkonbase 用户会话 token 调用,ACL 解析与操作归属走该用户。与弱通道 X-Atk-Act-As-Source(-Id) 互斥——同时携带返回业务码 101008。两个 SDK 均由 client 侧拦截器统一注入(actAsToken()),此处仅为门户演练暴露。

类型
string
X-Atk-Act-As-Source

弱通道(可选):外部身份来源标识,须与 X-Atk-Act-As-Source-Id 成对携带,缺一返回业务码 101009。仅当该 Client 的 act_as_user_allowed=true 时生效,否则静默降级为 APP_ONLY;与强通道互斥。两个 SDK 均由 client 侧拦截器统一注入(actAsSource()),此处仅为门户演练暴露。

类型
string
X-Atk-Act-As-Source-Id

弱通道(可选):外部身份在其来源系统内的 ID,须与 X-Atk-Act-As-Source 成对携带,缺一返回业务码 101009

类型
string

请求体

application/json
JSON
{
  
"docId": "string",
  
"containerId": "string",
  
"title": "string",
  
"documentTypeId": "string",
  
"sizeBytes": 0,
  
"mimeType": "string",
  
"originalFilename": "string",
  
"idempotencyKey": "string",
  
"expectedContentHash": "string",
  
"metadata": "string",
  
"comment": "string",
  
"label": "string"
}

响应

OK

*/*
JSON
{
  
"code": 0,
  
"data": {
  
  
"mode": "string",
  
  
"uploadId": "string",
  
  
"presignedUrl": "string",
  
  
"expiresAt": "string",
  
  
"httpMethod": "string",
  
  
"signedHeaders": [
  
  
  
"string"
  
  
],
  
  
"fallbackEndpoint": "string"
  
},
  
"ts": 0,
  
"rid": "string",
  
"msg": "string",
  
"success": true
}

试验场

服务器
请求头
主体

示例

技术支持 VitePress OpenAPI