请求文件上传信息
上传文件分为三个步骤: 📌 1、使用请求文件上传信息接口,获取上传文件所需信息 2、通过接口响应体的上传信息,构建 HTTP 请求,上传实体文件到云存储 3、使用提交文件上传完成接口,提交上传完成信息
请求说明
请求地址 | https://openapi.wps.cn/v7/drives/{drive_id}/files/{parent_id}/request_upload |
---|---|
请求方法 | POST |
签名方式 | KSO-1 |
权限要求 | 查询和管理文件(应用授权) kso.file.readwrite 查询和管理文件(用户授权) kso.file.readwrite |
请求头(Header)
Header 名称 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
Content-Type | string | 是 | 使用:application/json |
X-Kso-Date | string | 是 | RFC1123 格式的日期,例: Wed, 23 Jan 2013 06:43:08 GMT |
X-Kso-Authorization | string | 是 | KSO-1 签名值,详见《签名方法》 |
Authorization | string | 是 | 授权凭证,格式为:Bearer {access_token} |
路径参数(Path)
名称 | 参数类型 | 说明 |
---|---|---|
drive_id | string | 驱动盘 id |
parent_id | string | 父目录 id |
请求体(Body)
名称 | 参数类型 | 是否必填 | 说明 |
---|---|---|---|
file_id | string | 否 | 更新上传时指定文件 id |
hashes | array[object] | 是 | 文件哈希信息,用于完整性校验 |
∟ sum | string | 是 | 哈希结果 |
∟ type | string[enum] | 是 | 哈希类型 sha256 md5 s2s |
internal | boolean | 否 | 是否内部上传,默认为 false |
name | string | 是 | 文件名(更新文件时忽略),需要携带文件名后缀,例如文件 1.doc |
on_name_conflict | string[enum] | 否 | 新建时文件名冲突行为处理方式(公网目前支持 rename 和 overwrite ) fail :失败;rename :重命名;overwrite :覆盖;replace :替换 |
parent_path | array[string] | 否 | 文件父路径,不存在则创建 |
size | integer | 是 | 文件大小 |
storage_base_domain | string | 否 | wps.cn / kdocs.cn ,签发的存储网关地址会根据 base_domain 优先匹配 \*.wps.cn/\*.kdocs.cn 。为空会根据请求的 host 优先选择关联的 base_domain。 (注意目前有些旧文件未被存储网关托管,针对这些文件的下载此参数可能失效) |
upload_scene | string[enum] | 否 | 文件上传场景,默认是 normal_upload normal_upload :团队上传;roaming_upload :漫游上传 |
请求地址示例
[POST] https://openapi.wps.cn/v7/drives/{drive_id}/files/{parent_id}/request_upload
请求体示例
json
{
"file_id": "string",
"hashes": [
{
"sum": "string",
"type": "string[enum]"
}
],
"internal": false,
"name": "string",
"on_name_conflict": "string[enum]",
"parent_path": [
"string"
],
"size": 0,
"storage_base_domain": "string",
"upload_scene": "string[enum]"
}
响应体
名称 | 参数类型 | 说明 |
---|---|---|
code | integer | 响应代码。非 0 表示失败,参照《状态码说明》 |
msg | string | 响应信息 |
data | object | 响应数据 |
∟ store_request | object | 第二步上传请求信息 |
∟ ∟ method | string[enum] | 存储上传方法 仅会返回 PUT |
∟ ∟ url | string | 存储上传使用的地址 公网环境下,当返回地址一级域名为金山办公管理域名(wps.cn 或 kdocs.cn)时,调用上传地址时需要带与调用此申请地址接口相同的登录凭据(wpssid 或 ksosid)和设备信息凭据(wpsua 或 kso 设备信息采集方案,若调用申请地址接口时未提供则无需提供),存储网关会进行校验 |
∟ upload_id | string | 上传标识 |
more | object | 更多的错误信息 |
响应体示例
json
{
"code": 0,
"msg": "string",
"data": {
"store_request": {
"method": "string",
"url": "string"
},
"upload_id": "string"
}
}