使用代码收发文件

QQServer和QQClient都有SendFile方法,用于发送文件。

语法:

SendFile(UserName, FileName)

UserName:用户(好友)名。
FileName: 文件名,含路径。

例如客户端向好友发送文件:

QQClient.SendFile("生产部.林海","c:\data\150928.doc")

如果客户端要向服务器发送文件,不指定接收者即可,例如:

QQClient.SendFile("c:\data\150928.doc")

服务器也可以向客户端发送文件,例如:

QQServer.SendFile("生产部.林海","c:\data\150928.doc")

QQClient通过SendFile向好友发送文件时,如果对方 不在线,并不会发送离线文件,而是会直接返回,所以通常需要判断一下:

Dim bd As QQBuddy = QQClient.Buddies("技术部.林欣华")
If
bd.OnLine  '如果对方在线
    QQClient.SendFile("技术部.林欣华","c:\data\
151022.doc")
Else
   
MessageBox.Show("对方离线,无法发送文件!","提示", MessageBoxButtons.OK ,MessageBoxIcon.Information)
End
If

SendFile用异步方式,在后台静默发送文件,且发送方和接收方都不会显示进度,也不会在内置聊天窗口留下痕迹。
发送过程可以继续其他操作,文件发送完毕后,系统会通过事件来通知双方:

1、发送方触发事件AfterSendFile。
2、接收方触发事件AfterReceiveFile。

QQServer和QQClient都有这两个事件,注意设置代码的时候不要混淆了。

两个事件的e参数是相同的:

UserName:字符型,返回对方名称,如果对方是服务器,则返回空。
FileName:字符型,返回发送或接收的文件名,含路径。
Success: 逻辑型,如果发送或接收成功,返回True,否则返回False。


本页地址:http://www.foxtable.com/webhelp/topics/3032.htm