🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### **创建上传任务** ``` - (AnyChatFileTask *)createFileUploadTaskWithOpt:(AnyChatFileUploadOpt *)taskOpt; ``` 接口说明: 创建上传任务,把文件上传至服务器 返回值: 文件传输任务类 接口参数说明: | 名称 | 类型 | 说明 | 是否必须 | | --- | --- | --- | --- | | opt | AnyChatFileUploadOpt | 文件上传参数类 | 是 | AnyChatFileUploadOpt文件上传参数类简介: | 名称 | 类型 | 说明 | 是否必须 | | --- | --- | --- | --- | | localPath | NSString | 发送的文件路径(存储在沙盒里的文件路径) | 是 | | intervalTime | int | 返回文件状态时间间隔,单位为秒 | 是 | | filename | NSString | 指定文件上传后的目标文件名 | 否 | | category | NSString | 文件上传分类子目录,通过设置该字段的值可以将文件上传到不同的分类子目录中 | 否 | | strJson | NSString | 自定义参数:json格式字符串 | 否 | | encryptionKey | NSString | 上传一个已加密录像视频文件(参考录制章节),在上传到服务器时,该文件将自动被解密。根据加密的录像视频文件的加密秘钥,设置相同的解密密钥 | 否 | | isOverlayUpload | BOOL | 是否覆盖上传(默认相同文件覆盖上传) | 否 | | maxBitrate | int | 传输最大码率(参数为int型,0 不限制,以最快速率传输[默认], 否则表示限制码率,单位为:bps) | 否 | Task任务类简介: | 方法 | 说明 | 返回参数 | | --- | --- | --- | | start | 开始传输 | void | | cancel | 取消传输 | void | | getStatus | 主动查询发送状态 | NSDictionary <br> process 传输进度 (0.0-100.0)<br>bitRate 传输码率,单位为 bps<br>status 1--准备; 2--传输中; 3--完成; 4--任务被取消 | 遵循代理协议 @interface AnyChatVC : UIViewController <TaskDelegate> 实现TaskDelegate代理回调: 文件传输完成回调 @param result 传输操作结果 @param data status 1--准备; 2--传输中; 3--完成; 4--任务被取消 - (void)onFileTransferDone:(AnyChatResult *)result data:(NSDictionary *)data; 任务状态回调 @param data taskId 任务Id process 进度  bitRate 位率  status  状态 - (void)onTaskStatusChanged:(NSDictionary *)data; 文件上传完成回调 @param result 上传操作结果 @param data  taskId 任务Id   filePath 文件上传远程路径 fileLength 文件大小   filename 文件名 - (void)onFileUploadDone:(AnyChatResult *)result data:(NSDictionary *)data; 文件下载完成回调 @param result  下载操作结果 @param data fileid 文件id - (void)onFileDownloadDone:(AnyChatResult *)result data:(NSDictionary *)data; 示例: // 录像上传 AnyChatFileUploadOpt *opt = [AnyChatFileUploadOpt new]; opt.filePath = self.localFilePath; opt.intervalTime = 1; AnyChatFileTask *task = [[AnyChatSDK getInstance] createFileUploadTaskWithOpt:opt]; task.delegate = self ; //任务进度回调 [task start];