
# 上传分片文件 - UploadTaskMultipartFile
#### 功能介绍
该接口允许用户将大文件拆分为多个分片，并逐个上传到OBS中。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-devsecurity/devsecurity_03_0007.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-devsecurity/devsecurity_03_0022.html)。
| 授权项                                  | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartsgovernance::createBinaryTask | Write | -           | -   | -  | -      |
   
#### URI
POST /v1/{project_id}/sbc/task/multipart
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 用户项目ID，获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-devsecurity/devsecurity_03_0019.html)。 **约束限制：** 不涉及。 **取值范围：** 32位项目ID。 **默认取值：** 不涉及。 |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 字符串长度不少于1，不超过10万。 **默认取值：** 不涉及。 |
| Content-Type | 是    | String | **参数解释：** 编码格式。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** application/json：传任何值，接口返回值均为json格式。                                                                                              |
   
表3FormData参数 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                             |
|:---|:---|:---|:---|
| upload_id   | 是    | String  | **参数解释：** 文件分片ID，通过"创建上传分片文件任务"接口获取响应中的upload_id字段值。 **约束限制：** 不涉及。 **取值范围：** 字符串长度不少于1，不超过128。 **默认取值：** 不涉及。 |
| file_path   | 是    | String  | **参数解释：** 文件路径。 **约束限制：** 不涉及。 **取值范围：** 字符串长度不少于1，不超过128。 **默认取值：** 不涉及。                                      |
| file_name   | 是    | String  | **参数解释：** 文件名称。 **约束限制：** 不涉及。 **取值范围：** 字符串长度不少于1，不超过128。 **默认取值：** 不涉及。                                      |
| part_number | 是    | Integer | **参数解释：** 文件分段号。 **约束限制：** 不涉及。 **取值范围：** 1-10000。 **默认取值：** 不涉及。                                              |
| part_size   | 是    | Integer | **参数解释：** 文件分段大小，单位是字节（Byte）。 **约束限制：** 不涉及。 **取值范围：** 1-2147483647。 **默认取值：** 不涉及。                            |
| file        | 是    | File    | **参数解释：** 文件分段号对应的分片文件。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                           |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数   | 参数类型                                                   | 描述                             |
|:---|:---|:---|
| data | [data] object | **参数解释：** 响应内容。 **取值范围：** 不涉及。 |
   
 表5data 
| 参数        | 参数类型   | 描述                                                                               |
|:---|:---|:---|
| file_path | String | **参数解释：** 文件路径。 **取值范围：** 字符串长度不少于1，不超过128。                                      |
| file_name | String | **参数解释：** 文件名称。 **取值范围：** 字符串长度不少于1，不超过128。                                      |
| upload_id | String | **参数解释：** 文件分片ID，通过"创建上传分片文件任务"接口获取响应中的upload_id字段值。 **取值范围：** 字符串长度不少于1，不超过128。 |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                             |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
**状态码：401**
表7响应Body参数 
| 参数         | 参数类型   | 描述                             |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
**状态码：429**
表8响应Body参数 
| 参数         | 参数类型   | 描述                             |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
#### 请求示例
```
POST https://{endpoint}/v1/{project_id}/sbc/task/multipart
{
  "upload_id" : "00000000000000000000000000000000",
  "file_path" : "/secbinarycheck/pre-signed/2024/01/01/00000000-0000-0000-0000-000000000000",
  "file_name" : "test",
  "part_number" : 1,
  "part_size" : 100,
  "file" : "testfile"
}
```
#### 响应示例
**状态码：200**
Request succeeded!
```
{
  "data" : {
    "upload_id" : "00000000000000000000000000000000",
    "file_path" : "/secbinarycheck/pre-signed/2024/01/01/00000000-0000-0000-0000-000000000000",
    "file_name" : "test",
    "part_number" : 1
  }
}
```
#### 状态码
| 状态码 | 描述                 |
|:---|:---|
| 200 | Request succeeded! |
| 400 | Bad Request        |
| 401 | Unauthorized       |
| 429 | Too Many Requests  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-devsecurity/ErrorCode.html)。
