ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### **创建上传文件任务** AnyChatUploadTask.createFileUploadTask(uploadOpt: AnyChatFileUploadOpt, e: AnyChatFileUploadEvent) #### 接口说明: 创建文件上传到服务器的任务(注:需要初始化) #### 接口参数简介: | 名称 | 类型 | 说明 | 是否必须 | | --- | --- | --- | --- | | uploadOpt| AnyChatFileUploadOpt | 文件上传配置类 | 是 | | e | AnyChatFileUploadEvent | 文件上传状态与结果回调 | 是 | #### AnyChatFileUploadOpt 文件上传配置类简介: | 名称 | 类型 | 说明 | 是否必须 | | --- | --- | --- | --- | | localPath| string| 要上传文件的绝对路径 | 是 | | intervalTime| number | 返回文件上传状态时间间隔,单位:s | 否 | | filename| string | 指定文件上传后的目标文件名 | 否 | | category| string | 表示文件上传分类子目录,通过设置改字段可将文件上传到不同分类子目录中 | 否 | | encryptionKey| string | 上传一个已加密录像视频文件(参考录制章节),在上传到服务器时,该文件将自动被解密。根据加密的录像视频文件的加密秘钥,设置相同的解密密钥 | 否 | | isOverlayUpload|boolean| 是否覆盖上传(默认值true相同文件覆盖上传) | 否 | | maxBitrate| number| 文件上传传输最大码率控制(为0时表示不限制,以最快速率传输[默认];否则表示限制码率,单位为:bps) | 否 | | strJson | string | 文件上传用户自定义参数(标准json字符串形式) | 否 | #### AnyChatUploadTask任务类简介: | 方法 | 说明 | 返回参数 | | --- | --- | --- | | start( )| 开始传输 | void | | cancel( ) | 取消传输 | void | | getStatus( )| 主动查询发送状态 | AnyChatTaskState 对象<br> AnyChatTaskState.process 传输进度 (0.0-100.0)<br>AnyChatTaskState.bitRate 传输码率,单位为 bps<br>AnyChatTaskState.status 1--准备; 2--传输中; 3--完成; 4--任务被取消 | #### AnyChatFileUploadEvent回调简介: | 返回值 | 名称 | 参数(类型):说明 | 接口说明 | 备注 | | --- | --- | --- | --- | --- | | void | onFileUploadDone | result(AnyChatResult) :执行结果<br> JsonData(object):返回数据 | 文件上传成功通知事件 | result.code: 0表示成功,其他表示错误代号<br/>result.msg: 错误描述<br>JsonData.FileName:文件名<br>JsonData.dwUserid: 用户id,指示发送用户<br>JsonData.TempFilePath:接收完成后,SDK 保存在本地的临时文件(包含完整路径)<br>JsonData.dwFileLength:文件总长度 <br>JsonData.dwTaskId:该文件所对应的任务编号 <br> <br>JsonData.taskId 任务ID| | void | OnTaskStatusChanged | JsonData(object):返回数据 |文件上传过程状态通知事件 |JsonData.taskId 任务ID<br>JsonData.process 传输进度 (0.0-100.0)<br>JsonData.bitRate 传输码率,单位为 bps<br>JsonData.status 1--准备; 2--传输中; 3--完成; 4--任务被取消<br> | #### 示例代码: ``` //文件上传配置类 let uploadOpt = new AnyChatFileUploadOpt(); //设置上传文件的绝对路径信息 uploadOpt.setLocalPath(filePath); //设置返回文件上传状态时间间隔,单位:s uploadOpt.setIntervalTime(1); //创建文件上传任务 let uploadTask: AnyChatUploadTask = instance.createFileUploadTask(uploadOpt, { onFileUploadDone(result: AnyChatResult, json: object) { } onTaskStatusChanged(json: object) { } }); //开始上传 uploadTask.start(); ```