
# 上传文件 - UploadFile
#### 功能介绍
将本地文件上传到存储中。使用该API上传文件，默认只会上传到连接器下配置的第一个桶中。待上传的文件可以是文本文件、图片、视频等类型。
#### URI
POST*华为云Astro轻应用域名* /u-route/baas/sys/v1.1/connectors/{connector_type}/{connector_name}/putobject?object=*X*
表1路径参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| connector_type | 是    | String | **参数解释**： 连接器的类型。 **约束限制**： 不涉及。 **取值范围**： - obs：与OBS对接的连接器。  - minio：与MINIO对接的连接器。  - objectstorageproxy：对象存储代理类型。   **默认取值**： 不涉及。 |
| connector_name | 是    | String | **参数解释**： 连接器实例的名称，即创建连接器时设置的连接器实例名。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                               |
| object         | 否    | String | **参数解释**： 待上传文件所在桶里的全路径，包含文件名、文件类型、上传到桶里的路径。不携带路径时，表示上传到桶的根目录下。 例如：取值为"a/b/c/1.txt"，表示将文件"1.txt"上传到桶的"a/b/c"路径下。如果桶中不存在该路径，会创建该路径。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                               |
   
#### 请求参数
请求中的body类型，按照"multipart/form-data"格式。
表2请求参数 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| dir    | 否    | String | **参数解释**： 上传文件在桶中的目录。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 如果为空，则表示桶的根目录。                                                                                                                                                                                                                                                                                                                                                                                                |
| acl    | 否    | String | **参数解释**： 上传文件的访问控制权限。 **约束限制**： 不涉及。 **取值范围**： - private：私有。  - public-read：公共读。  - public-read-write：公共读写。  - default：和桶配置的权限一致。   **默认取值**： 不配置，和桶配置的权限一致。 |
| object | 是    | String | **参数解释**： 待上传的文件数据，包含文件名和文件内容。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                               |
   
#### 响应参数
表3响应参数说明 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| resCode | String | **参数解释**： 返回码。 **取值范围**： 如果返回"0"代表请求成功，其他错误码说明请参考[错误码（数据面）](https://support.huaweicloud.com/api-astrozero/astrozero_api_0082.html)。 |
| resMsg  | String | **参数解释**： 返回消息。 **取值范围**： 成功返回"成功"，其他情况会返回具体的错误信息。                                                                                |
| result  | Object | **参数解释**： 如果请求成功，返回上传文件在桶中的路径。                                                                                                                                                                                |
   
#### 请求示例
创建所需的OBS类型连接器，假设连接器实例名称为"命名空间__TestOBS"，向该OBS桶的"a/b/c"路径下上传"1.txt"文件。调用API上传文件，只能上传到连接器配置的第一个桶中。
```
POST https://华为云Astro轻应用域名/u-route/baas/sys/v1.1/connectors/obs/命名空间__TestOBS/putobject?object=a/b/c/1.txt
{
    "object": "上传的文件",
    "acl": "public-read-write",
    "dir": "/"
}
```
请求参数中设置"multipart/form-data"格式的object，即要上传的文件数据。
图1设置请求参数   
![](https://support.huaweicloud.com/api-astrozero/zh-cn_image_0000001910109732.png "点击放大")
上述操作执行完成后，在OBS桶中可查看到"a/b/c"路径下成功上传了"1.txt"文件。
#### 响应示例
```
{
 "resCode": "0",
 "resMsg": "成功",
 "result": {
  "object": "a/b/c/1.txt"
 }
}
```
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-astrozero/astrozero_api_0081.html)。
#### 错误码
错误码请参见[错误码（数据面）](https://support.huaweicloud.com/api-astrozero/astrozero_api_0082.html)。
