请求文件上传信息
适用版本>=v7.0.2307b.2023720
接口说明:请求文件上传信息
请求说明
| 请求地址 | 配置域名+/graph+/v7/drives/{drive_id}/files/{parent_id}/request_upload |
|---|---|
| 请求方法 | POST |
| 签名方式 | WPS-4签名/WPS-4-GM签名(配置域名+/graph不参与签名) |
| 权限要求 | 以用户身份管理文档(用户授权) kso.drive.as_user.manage 更新文件(用户授权) kso.file.write 应用管理文件(应用授权) kso.appdrive.file.write |
请求头(Header)
| 名称 | 是否必填 | 说明 |
|---|---|---|
| Content-Type | 是 | 固定为: application/json |
| Wps-Docs-Date | 是 | 取当前时间,示例: Wed, 23 Jan 2013 06:43:08 GMT |
| Wps-Docs-Authorization | 是 | 计算方法参考签名说明 |
| Authorization | 是 | 授权凭证,格式为: Bearer {access_token} |
路径参数(Path)
| 名称 | 参数类型 | 是否必填 | 说明 |
|---|---|---|---|
| drive_id | string | 是 | 驱动盘id,<= 1024 characters |
| parent_id | string | 是 | 父文件(夹)id(根目录时为0),<= 1024 characters |
请求体(Body)
| 名称 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 文件名,包含后缀,不支持"/:*?"<>|"特殊符号,字符串大小[1,240] |
| size | int64 | 是 | 文件大小 |
| hashes | object[] | 否 | 文件哈希信息,用于完整性校验,<= 1024 items |
| ∟ sum | string | 是 | 哈希结果 |
| ∟ type | string | 是 | 哈希类型,仅支持sha256 |
| parent_path | string[] | 否 | 文件父路径,不存在则创建(parentid下子目录路径),<= 1024 items [ items <= 1024 characters ] |
| on_name_conflict | string | 否 | 文件名冲突行为,fail:失败;rename:重命名;overwrite:覆盖;replace:替换。默认为rename |
| on_parent_path_conflict | string | 否 | 文件父路径的冲突行为,更新文件时忽略。rename :重命名;overwrite:合并;默认为合并。 |
| method | string | 否 | 文件上传方法,私有化默认为WPS3_POST,Enum: “PUT”,“WPS3 POST” |
| file_id | string | 否 | 更新上传时指定文件id,<= 1024 characters |
请求体示例
{
"file_id": "string",
"hashes": [
{
"sum": "string",
"type": "sha256"
}
],
"method": "PUT",
"name": "string",
"on_name_conflict": "rename",
"parent_path": [
"string"
],
"on_parent_path_conflict": "rename",
"size": 0
}响应体(Response)
| 名称 | 类型 | 说明 |
|---|---|---|
| data | object | 请求文件上传信息返回 |
| ∟ id | string | 上传标识,用于提交文件上传完成 |
| ∟ store_request | object | 上传实体文件中请求信息 |
| ∟ store_response_keys | object | 上传实体文件响应中的回传字段,调用者需要根据这些字段从响应中取出回传信息,并在提交文件上传完成时进行回传 |
| code | integer | 错误码,参照《错误码说明》 |
| msg | string | 状态信息 |
| detail | string | 详细信息 |
响应体示例
{
"code": 0,
"data": {
"id": "eyJuYW1lIjoiZG93bmxvYWQgKDEpLnBkZiIsInNpemUiOjEsImhhc2hlcyI6bnVsbCwicGFyZW50X3BhdGgiOm51bGwsIm9uX25hbWVfY29uZmxpY3QiOiJyZW5hbWUiLCJtZXRob2QiOiJQT1NUIiwiaW50ZXJuYWwiOmZhbHNlLCJmaWxlX2lkIjoiMCJ9",
"store_request": {
"method": "POST",
"url": "https://10.13.80.140/path3/path4/minio/wpsfile/yundoc/f6cdERzn4UBoVm1mJZIrntvtUS2191959075389440",
"headers": [
{
"name": "Content-Type",
"value": ""
},
{
"name": "X-Amz-Date",
"value": "20230713T015340Z"
},
{
"name": "Authorization",
"value": "AWS4-HMAC-SHA256 Credential=KpuUOVra7m0lN4Vx/20230713/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=2aa5915d0f6259fe44f146ff7471744cd028940f9141bbbdb511581782b22baa"
},
{
"name": "X-Amz-Content-Sha256",
"value": "UNSIGNED-PAYLOAD"
}
],
"body_params": []
},
"store_response_keys": {
"header_keys": [
"X-Wps3-Info-Token"
],
"body_keys": []
}
},
"detail": "",
"msg": "ok"
}