
# 客户发送文件 (uploadFileStream)
#### 场景描述
用户与座席建立连接后，用户侧发送文件类型的消息。
用户发送的文件会上传到AICC系统的文件服务器上，接口调用返回结果中携带该文件在文件服务器中的key值。
用户侧在调用send/senAsync接口发送消息时需携带该key值。
#### 接口方法
POST
#### 接口URI
https://域名/apiaccess/ccmessaging/uploadFileStream，例如域名是service.besclouds.com
#### 请求说明
表1请求头参数 
| 序号 | 名称                | 参数类型   | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|:---|
| 1  | ccmessaging-token | string | True | - applyToken接口返回的token值。  - 会话过程中接口Response Header中返回的ccmessaging-token的值。   |
| 2  | x-app-key         | string | True | appKey字段，用户标识，在API Fabric上配置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 3  | Authorization     | string | True | 鉴权字段，内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken（Bearer后有空格）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
表2请求体参数 
| 序号 | 名称      | 参数类型                                                                                                                 | 是否必选 | 说明  |
|:---|:---|:---|:---|:---|
| 1  | reqBody | [ReqBody] | True | 请求体 |
   
 表3ReqBody参数结构 
| 序号  | 名称         | 参数类型   | 是否必选 | 说明                                           |
|:---|:---|:---|:---|:---|
| 1.1 | fileType   | string | True | 文件类型，支持jpg，jpeg，png，bmp，mp3，aac，mp4，txt，csv。 |
| 1.2 | fileStream | string | True | Base64编码后的文件流。                               |
| 1.3 | channel    | string | True | 发送文件流渠道，当前只支持WEB。                            |
   
#### 响应说明
- **响应状态码: 200**
  表4响应体参数结构 
  | 序号  | 名称         | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  |:---|:---|:---|:---|
  | 1.1 | returnCode | string | 返回码。0：成功，非0表示失败，失败包括： - 2：参数缺失  - 3：参数错误  - 13：上传失败   |
  | 1.2 | objectKey  | string | 对象键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     
  
- **响应状态码: 400**
  错误的请求：请检查请求路径及参数。
  
- **响应状态码: 401**
  未授权：1.请确认是否购买了相关服务。2.请联系客服人员检查您账号的当前状态。
  
- **响应状态码: 404**
  请求的内容未找到：请检查请求的路径。
  
- **响应状态码: 500**
  业务失败：请依次确认您请求中各参数的取值。
  
 
#### 错误码
无。
#### 报文样例
请求参数:
```
{
"fileType": "jpg",
"channel": "WEB",
"fileStream": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIp3+7j8a/PP/gqXP5/7QXh9tu3/AIpi34z/ANPV3SpXfxCP/9k="
}
```
响应参数:
```
{
"returnCode": "0",
"objectKey": "44992392******************6cc328db296"
}
```
