AnyChat技术支持论坛

标题: 2017-02-20 增加文件传输扩展API接口 [打印本页]

作者: admin    时间: 2017-2-26 15:30
标题: 2017-02-20 增加文件传输扩展API接口
新版本(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、核心服务器。




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3