创建文件元数据 - createFile
功能介绍
上传文件第一步,该接口会创建文件的元数据。如果秒传未命中,需要走上传流程。如果秒传命中,则文件上传完成。数据文件需要加载到新加坡节点进行处理。
授权信息
当前API调用无需身份策略权限。
URI
POST /koodrive/ose/v1/files/create
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
language | 否 | String | 参数解释: 国际化语言标识 约束限制: 符合i18n规范,如zh-CN表示简体中文,en-US表示美式英语 取值范围: 不涉及 默认取值: 不传默认美式英语 |
Authorization | 是 | String | 参数解释: 该字段存储的是Access Token。 调用KooDrive的API使用Token认证,拥有Token就代表拥有某种权限,在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。 约束限制: 格式参考:Bearer+{access_token} 取值范围: Access Token的获取请参考对应的开发手册 默认取值: 不涉及 |
X-Traceid | 否 | String | 参数解释: 消息日志跟踪标识(必须58位) 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
X-User-Id | 是 | String | 参数解释: koodrive侧用户id,用于app鉴权 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
X-Date | 是 | String | 参数解释: 日期,用于app鉴权 约束限制: 距当前时间15分钟以内,不能晚于当前时间 取值范围: 日期格式,yyyMMdd'T'HHmmss'Z',例:20251103T070140Z 默认取值: 不涉及 |
x-hw-share-folder-id | 否 | String | 参数解释: 共享文件夹ID。如果传入了该请求头,则说明当前的操作是在共享文件夹内。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
createdTime | 否 | String | 参数解释: 文件创建时间 约束限制: 格式为yyyy-MM-dd HH:mm:ss 取值范围: 不涉及 默认取值: 不涉及 |
description | 否 | String | 参数解释: 文件描述 约束限制: 长度限制为512 取值范围: 不涉及 默认取值: 不涉及 |
mimeType | 否 | String | 参数解释: 资源类型 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
fileName | 是 | String | 参数解释: 文件名 约束限制: 不能包括'<>|:"*?/',不能等于'..','.','',最长250个字符 取值范围: 不涉及 默认取值: 不涉及 |
fileType | 是 | String | 参数解释: 文件类型,业务自行定义 约束限制: 不涉及 取值范围: 15:图片20:视频 26:word 27:excel 28:ppt3 0:音频 35:压缩文件 40:应用 45:其他 默认取值: 不涉及 |
parentFolder | 是 | Array of strings | 参数解释: 父目录标识列表,当目标为根目录时值为root 约束限制: 当前只支持一个父目录,如果传入多个父目录id,只会取第一个作为父目录id 取值范围: 不涉及 默认取值: 不涉及 |
sha256 | 否 | String | 参数解释: 用SHA256计算的文件完整摘要信息 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
length | 是 | Long | 参数解释: 文件的长度 约束限制: 单位:字节,uploadMode=multipart时,取值应小于等于200GB 取值范围: 不涉及 默认取值: 不涉及 |
uploadMode | 是 | String | 参数解释: 上传模式 约束限制: 不涉及 取值范围: multipart:分段上传 默认取值: 不涉及 |
uploadType | 是 | Integer | 参数解释: 上传类型 约束限制: 不涉及 取值范围: 0:普通上传(暂时不支持) - 1:分段上传 - 2:多版本上传(暂时不支持) 默认取值: 不涉及 |
autoRename | 是 | Integer | 参数解释: 重名策略 约束限制: 不涉及 取值范围: 枚举值:2:强制重命名,出现重名文件时,文件名末尾追加时间戳;3:拒绝重命名,出现重名文件时,创建失败;4:自动重命名,出现重名,且文件sha256值一样时,不会创建文件,否则按强制重命名逻辑执行 默认取值: 不涉及 |
multiParts | 否 | Array of MultiPartInfo objects | 参数解释: 分片信息列表 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
containerId | 是 | String | 参数解释: 文件上传的目标空间的Id 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
preHash | 否 | String | 参数解释: 用SHA256计算的文件前1KB的摘要信息 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
proofCode | 否 | String | 参数解释: 存储签名 约束限制: 使用文件的二级制数据生成,防撞库。当传入sha256时,该字段必传 取值范围: 不涉及 默认取值: 不涉及 |
hidden | 否 | Boolean | 参数解释: 文件是否隐藏 约束限制: 该功能目前只有白名单用户使用 取值范围: 不涉及 默认取值: 不涉及 |
scene | 否 | String | 参数解释: 自定义属性 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
partNumber | 是 | Integer | 参数解释: 分片编号 约束限制: 分片编号取值1-10000 取值范围: 不涉及 默认取值: 不涉及 |
partSize | 是 | Long | 参数解释: 分片长度 约束限制: 不涉及 取值范围: minimum: 0 -maximum: 5368709120,取值范围[5242880, 5368709120],最后一个分片取值范围[0, 5368709120] 默认取值: 不涉及 |
partOffset | 否 | Long | 参数解释: 到上一个数据块为止的总长度 约束限制: 单位为字节,该字段仅在分片并行上传时有效,分片并行上传时,除最后一个分片外,分片并行上传的其它分片大小,必须是 64字节的倍数 取值范围: 不涉及 默认取值: 不涉及 |
hashCtx | 否 | Array of longs | 参数解释: 用于迭代计算SHA256的上下文 约束限制: 该字段仅在分片并行上传时有效。对于SHA256,取值为上一个数据块SHA256的第1-8个32位变量。 注:分片并行上传时除第一个分片外其他分片必填。 取值范围: 不涉及 默认取值: 不涉及 |
uploadUrl | 否 | String | 参数解释: 文件上传的URL 约束限制: 上传文件需要使用PUT方法 取值范围: 不涉及 默认取值: 不涉及 |
partId | 否 | String | 参数解释: 分片对象ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
fileId | String | 文件id |
rapidUpload | Boolean | 是否秒传命中(true表示秒传命中) |
containerId | String | 文件所在空间id |
fileName | String | 上传后文件名,如果没有重命名则和请求参数的文件名保持一致 |
uploadId | String | 文件上传Id |
parentFolder | Array of strings | 上传后文件所在父目录Id |
exist | Boolean | 文件是否存在,仅在入参autoRename=4时使用,当文件名一致,且文件的sha256一致,返回true |
multiParts | Array of MultiPartInfo objects | 分片信息,在分段上传时(uploadMode=multipart)返回 |
matchedPreHash | Boolean | 存在匹配的preHash |
existFileId | String | 重名策略为拒绝重命名且存在重名文件时,会返回已存在的文件id |
code | String | 返回码 |
msg | String | 返回信息 |
参数 | 参数类型 | 描述 |
|---|---|---|
partNumber | Integer | 参数解释: 分片编号 约束限制: 分片编号取值1-10000 取值范围: 不涉及 默认取值: 不涉及 |
partSize | Long | 参数解释: 分片长度 约束限制: 不涉及 取值范围: minimum: 0 -maximum: 5368709120,取值范围[5242880, 5368709120],最后一个分片取值范围[0, 5368709120] 默认取值: 不涉及 |
partOffset | Long | 参数解释: 到上一个数据块为止的总长度 约束限制: 单位为字节,该字段仅在分片并行上传时有效,分片并行上传时,除最后一个分片外,分片并行上传的其它分片大小,必须是 64字节的倍数 取值范围: 不涉及 默认取值: 不涉及 |
hashCtx | Array of longs | 参数解释: 用于迭代计算SHA256的上下文 约束限制: 该字段仅在分片并行上传时有效。对于SHA256,取值为上一个数据块SHA256的第1-8个32位变量。 注:分片并行上传时除第一个分片外其他分片必填。 取值范围: 不涉及 默认取值: 不涉及 |
uploadUrl | String | 参数解释: 文件上传的URL 约束限制: 上传文件需要使用PUT方法 取值范围: 不涉及 默认取值: 不涉及 |
partId | String | 参数解释: 分片对象ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求示例
通过“分片上传”方式创建文件元数据,该示例指定了一个分片,后续响应会返回对应分片的上传地址,需要将对应分片通过PUT请求上传对应的分片。
POST /koodrive/ose/v1/files/create
Authorization:Bearer+10f88*********4791e9ff
{
"containerId": "IAADfsBFCO6WtAtuA9add2fea594e4e75b8feb8474ef236",
"parentFolder": [
"root"
],
"createdTime": "2020-05-18T01:43:49Z",
"mimeType": "application/x-zip-compressed",
"fileType": 35,
"fileName": "demo.zip",
"sha256": "08a784aeb181506391c20c6355f881dc363d8c3e0739d295e5d6f410d05dbc69",
"length": 22106481,
"uploadMode": "multipart",
"uploadType": 1,
"autoRename": 2,
"multiParts": [
{
"partNumber": 1,
"partOffset": 0,
"partSize": 22106481
}
],
"description": ""
} 响应示例
状态码:200
上传文件第一步完成返回的信息
{
"fileId" : "FnkL1QhXj8muHBuSWCHtFFY8Azue44Snr",
"containerId" : "IAADfsBFCO6WtAtuA9add2fea594e4e75b8feb8474ef236",
"fileName" : "test_20240104_105403.zip",
"uploadId" : "0000018CD26464022026422966B8879A",
"parentFolder" : [ "DEUI7pa0C24ArootIAADfsBFCO6WtAtuA9add2fea594e4e75b8feb8474ef236" ],
"exist" : false,
"multiParts" : [ {
"partNumber" : 1,
"partSize" : 22106481,
"partOffset" : 0,
"uploadUrl" : "https://b10-obs-ykj-uat-01.obs.cidc-rp-2006.joint.cmecloud.cn/ff6b221b4b474c829c1cd5037f1504ca086?partNumber=1&uploadId=0000018CD26464022026422966B8879A&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240104T025403Z&X-Amz-SignedHeaders=content-length%3Bhost&X-Amz-Expires=3600&X-Amz-Credential=MKRISPBZAJWFHNBJ5WLB%2F20240104%2Fcidc-rp-2006%2Fs3%2Faws4_request&X-Amz-Signature=39b9b620c8de901682675059cfcfa9902a13fb5c6ab38fe1451763feb6a8323c"
} ],
"code" : 0,
"msg" : "Success."
} 状态码
状态码 | 描述 |
|---|---|
200 | 上传文件第一步完成返回的信息 |

