设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: cg0071
打印 上一主题 下一主题

关于文件传送回调函数

[复制链接]

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
跳转到指定楼层
楼主
发表于 2013-11-29 14:47:08 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
用户101给102传递文件

101控制台打印
BRAC_TransFile(102, realPath,1,2,0);
AddLog("realPath="+realPath);
============realPath=D:\测试\测试.txt

102回调函数被触发,打印
function OnAnyChatTransFile(dwUserId, lpFileName, lpTempFilePath, dwFileLength, wParam, lParam, dwTaskId) {

     AddLog("lpTempFilePath="+lpTempFilePath);
}
============lpTempFilePath=D:\PROGRA~1\BAIRUI~1\ANYCHA~1\temp\测试.txt

传送的路径和接收到的路径不一样?
传过去的文件是直接保存在对方的路径下面了吗?还是传的是一组数据流?我如何把对方传的文件保存到任意位置?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
沙发
 楼主| 发表于 2013-11-29 15:50:27 | 显示全部楼层
廖斌 发表于 2013-11-29 15:03
您好。发送路径是指发送源文件路径,回调中触发的路径是接收路径。接收路径要在接收文件之前设置,设置之后 ...

您好,能详细解说一下吗?
我把路径在全局变量设置了一下,结果还是1楼说的那样
var lpTempFilePath = "D:\\测试\\";
function OnAnyChatTransFile(dwUserId, lpFileName, lpTempFilePath, dwFileLength, wParam, lParam, dwTaskId) {
     AddLog("lpTempFilePath="+lpTempFilePath);
}
接收方打印的路径还是D:\PROGRA~1\BAIRUI~1\ANYCHA~1\temp\测试.txt

这个是把文件自动保存到lpTempFilePath这个路径吗?开发手册上说意思是自动保存,但是木有
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
板凳
 楼主| 发表于 2013-12-2 13:47:48 | 显示全部楼层
adminivt 发表于 2013-11-29 17:35
你的完整路径是怎么获得的?

你指的是发送方选择本地文件的路径?

这个用的是input标签type="file"来获取的,只有ie可以,火狐、chrome都不行(浏览器给加密禁用了)

在这里想问问论坛的前辈们:

你们开发的这个传送文件函数,需要填写本地文件的路径,前提是怎么考虑来获取本地文件的路径的(只考虑Windows系统)?我暂时只想到用input标签来获取……
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
地板
 楼主| 发表于 2013-12-2 15:56:06 | 显示全部楼层
本帖最后由 cg0071 于 2013-12-2 16:22 编辑
admin 发表于 2013-12-2 14:04
您好,在AnyChat for Web SDK中,API:BRAC_TransFile的参数filepath可以为空,内核将自动弹出文件选择窗口 ...

更新web插件后,确实可以了,但是发送方发送后,对方的回调函数木有触发了(此时对方不在线),
1.  是不是要求对方必须在线?但是var transFileId = BRAC_TransFile(102, "",1,2,0);之后再查询进度的时候返回5(接收方取消任务),但是这个不能说明是离线还是取消了?
2.  发送方发送文件后(100M的),BRAC_QueryTransTaskInfo(mSelfUserId,transFileId,BRAC_TRANSTASK_STATUS); 首次返回一个2(正在传输),那么传送完成后会不会自动再触发一次查询的?还是要我自己不停的检测是否发送完成?
3.  接收方如何查询传输进度等信息?

回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
5#
 楼主| 发表于 2013-12-2 17:09:46 | 显示全部楼层
admin 发表于 2013-12-2 16:29
您好:
1、需要双方都在线,传输才能正常的进行;
2、你可以启动一个定时器,比如500ms,定期的来查询传 ...

谢谢,第三点怎么实现?接收方如何查看传输进度?比如类似QQ的那种效果。
再加一点:
4. 可不可做一个在线截图功能,发送后,房间内的人都能看到,跟聊天记录一样的效果
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
6#
 楼主| 发表于 2013-12-3 16:53:37 | 显示全部楼层
admin 发表于 2013-12-2 17:20
您好,接收方也可以查询进度的,您可以通过透明通道将userid、taskid传给对方,对方就可以利用这两个参数进 ...

您好,今天实验了一下,接收方查询不到发送方传送进度,结果如下
var returnVal = BRAC_QueryTransTaskInfo(personId,transFileId,BRAC_TRANSTASK_STATUS));
personId是通过透明通道传给接收方的发送人id
transFileId是任务id(在不同人的机器上存放着)
但是上面的函数返回值是0,不是应该有1,2,3,4,5吗?怎么会是0?
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
7#
 楼主| 发表于 2013-12-3 17:22:52 | 显示全部楼层
廖斌 发表于 2013-12-3 17:12
自己发送,自己查询呢,查到的结果是正常的吗?
自己发送自己查询正常,现在问的是接收方的问题


var returnVal = BRAC_QueryTransTaskInfo(personId,transFileId,BRAC_TRANSTASK_STATUS);
这个函数在接收方一直返回为0,ok这个代表成功的意思
但是这个查询进度函数BRAC_QueryTransTaskInfo(personId,transFileId,BRAC_TRANSTASK_PROGRESS)
在接收方也是一直返回为0,这个不是应该返回0~100 或 0.0~100.0吗?
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
8#
 楼主| 发表于 2013-12-3 17:28:06 | 显示全部楼层
本帖最后由 cg0071 于 2013-12-3 17:29 编辑
廖斌 发表于 2013-12-3 17:27
将personId和transFileId输出一下,看是否正常。我们这边也检查下看看

正常,都能输出
_______接收者personId:105
_______接收者transFileId:20924
----进度:0
----进度:0
----进度:0定时器中返回的值都是0
回复 支持 反对

使用道具 举报

12

主题

53

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
9#
 楼主| 发表于 2013-12-4 09:45:32 | 显示全部楼层
廖斌 发表于 2013-12-3 18:23
您好,我们这边测试接收方查询BRAC_TRANSTASK_STATUS正常。第一个参数要是任务发起者的userid,请检查下

BRAC_TRANSTASK_STATUS
这个是查询状态的,14楼您说了,是正常的,返回值为0,这个OK

但是我问的是查询进度的BRAC_TRANSTASK_PROGRESS
这个进度返回的也是0,定时器中每次返回打印的都是0,这个也代表成功的意思?
这个不是应该是0~100之间吗?
那我接收方如何查看文件传送的进度?
类似qq那样,两边都能看到发送(接收)了多少

我的插件是web版最新的

以上问题针对接收方
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 11:31 , Processed in 0.126269 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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