
# 上传文件 - AgentUploadFile
#### 功能介绍
该接口用于工作流、智能体上传文件，支持多种图片、文档、表格等多种格式的文件上传。接口返回临时下载路径，可用于临时下载文件。
适用场景：在智能体应用中上传文件。
格式要求：
- 办公文档：DOC、DOCX、XLS、XLSX、PPT、PPTX、PDF、Numbers、CSV。
  
- 图像文件：JPG、JPEG、PNG、GIF、WEBP、HEIC、HEIF、BMP、PCD、TIFF。
  
- 音频文件：WAV、MP3、FLAC、M4A、AAC、OGG、WMA、MIDI。
  
- 文本文件：JS、CPP、PY、JAVA、C、TXT、CSS、JAVASCRIPT、HTML、JSON、MD。
  
 
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-agentarts0/agentarts_07_0003.html)。
#### URI
POST /v1/{project_id}/agent-runtime/upload-file
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 当前租户项目ID。 获取方法请参考[获取项目ID](https://support.huaweicloud.com/api-agentarts0/agentarts_07_0018.html)。 **约束限制**： 不涉及。 **取值范围**： 由英文，数字，"-"，"_"组成，不超过64位字符。 **默认取值**： 不涉及。 |
   
表2Query参数 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| workspace_id | 是    | String  | **参数解释**： 工作空间ID，用于标识特定的工作空间。 获取方法请参考[获取工作空间ID](https://support.huaweicloud.com/api-agentarts0/agentarts_07_0020.html)。 **约束限制**： 不涉及。 **取值范围**： 由英文，数字，"-"，"_"组成，不超过64位字符。 **默认取值**： 不涉及。                                                                                                                             |
| file         | 是    | Object  | **参数解释**： 上传的文件。 **约束限制**： 不涉及。 **取值范围**： 大小不超过60MB。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                       |
| expires      | 否    | Integer | **参数解释**： 访问授权过期时间（天）。 **约束限制**： 最长180天。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                    |
| is_image     | 否    | Boolean | **参数解释**： 是否是图片上传。 **约束限制**： 不涉及。 **取值范围**： - true：文件为图片格式。   - false：文件为非图片格式。    **默认取值**： false。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。  **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
| Content-Type | 是    | String | **参数解释**： 发送的实体的MIME类型。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： application/json。                                                                          |
   
表4请求Body参数 
| 参数       | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| file     | 是    | String  | **参数解释**： 用户上传的文档。 **约束限制**： 不涉及。 **取值范围**： 文件大小小于60MB。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                         |
| is_image | 否    | Boolean | **参数解释**： 用户上传的文档是否是图片。 **约束限制**： 不涉及。 **取值范围**： - true：文件为图片格式。   - false：文件为非图片格式。    **默认取值**： false。 |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                          |
|:---|:---|:---|
| url       | String | **参数解释**： 临时有效，用于访问存储在OBS上的文件的下载地址。 **取值范围**： 不涉及。 |
| headers   | Object | **参数解释**： 请求访问的域名，是OBS签名验证的关键信息。 **取值范围**： 不涉及。    |
| file_name | String | **参数解释**： 文件名。 **取值范围**： 不涉及。                      |
   
#### 请求示例
- 上传文件
  ```
  {
    "method" : "POST",
    "url" : "https://api.example.com/v1/{project_id}/agent-runtime/upload-file?workspace_id={workspace_id}",
    "headers" : {
      "Content-Type" : "application/json",
      "X-Auth-Token" : "MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...",
      "stream" : true
    },
    "body" : {
      "file" : "C:\\Users\\Desktop\\market-CFrwA1xu.png"
    }
  }
  ```
  
 
#### 响应示例
**状态码：200**
Agent文件上传结束的响应体。
```
{
  "url" : "https://test-agent-poc.obs.cn-north-7.ulanqab.huawei.com:443/file/3fd960a8-ca5d-4423-b8da-bb8866e21c28.docx?AccessKeyId=8SL1ZFP1ELHHMAWYJHCJ&Expires=1758282352&Signature=r02Qxi3%2Bhv1FtnMo3XcCvReBQGo%3D",
  "headers" : [ {
    "Host" : "test-agent-poc.obs.cn-north-7.ulanqab.huawei.com:443"
  } ]
}
```
#### 状态码
| 状态码 | 描述               |
|:---|:---|
| 200 | Agent文件上传结束的响应体。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts0/ErrorCode.html)。
