设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2038|回复: 0

2017-02-20 增加文件传输扩展API接口

[复制链接]

241

主题

2959

帖子

8914

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8914
发表于 2017-2-26 15:30:39 | 显示全部楼层 |阅读模式
新版本(AnyChat r6642)对文件传输API接口进行了扩展,新增的API接口定义如下(C++):
  1. // 传送文件(扩展)
  2. BRAC_API DWORD BRAC_TransFileEx(CHAR* lpTaskGuid, DWORD dwUserId, LPCTSTR lpLocalPathName, DWORD dwFlags, CHAR* lpUserString);
  3. // 查询传输任务相关信息(扩展)
  4. BRAC_API DWORD BRAC_QueryTransTaskInfoEx(CHAR* lpTaskGuid, int infoname, char FAR* infoval, int infolen);
  5. // 取消传输任务(扩展)
  6. BRAC_API DWORD BRAC_CancelTransTaskEx(CHAR* lpTaskGuid, DWORD dwFlags, DWORD dwErrorCode);
复制代码
通过该扩展API接口可以实现传输文件时由发送方指定目标文件名,示例代码如下(JavaScript):

  1. //发送文件到服务器
  2. function SendFileToServer() {
  3.         // 创建一个任务GUID
  4.         var TaskGuid = BRAC_GetSDKOptionString(BRAC_SO_CORESDK_NEWGUID);
  5.         // 传给服务器,目标用户ID为0
  6.         var userid = 0;
  7.         // 目标文件重命名
  8.         var paramstr = {filename : "myname"};
  9.         // 启动传输任务
  10.         BRAC_TransFileEx(TaskGuid, userid, "", 0, JSON.stringify(paramstr));
  11.         
  12.         // 定期查询传输任务进度
  13.         var t = setInterval(function () {
  14.                 var status = BRAC_QueryTransTaskInfoEx(TaskGuid, BRAC_TRANSTASK_PROGRESS);
  15.                 var message = "文件传输进度:" + status + "%";
  16.                 DisplayTextMessage(-1, message);
  17.                 if(status == 100) {
  18.                         DisplayTextMessage(-1, "传输任务完成");
  19.                         clearInterval(t);
  20.                 }
  21.         },1000);
  22. }
复制代码
如果需要使用上面的扩展API接口,需要同时更新客户端SDK、核心服务器。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2020-9-21 19:50 , Processed in 0.235899 second(s), 27 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表