RequestFile
客户端请求QQServer发送指定的文件到本机。
语法:
RequestFile(FileName,TimeOut,ShowProcess)
FileName:指定要下载的文件名,包括相对路径
TimeOut: 可选参数,指定等待服务器响应的时间,单位为秒,默认为5秒。
ShowProcess:可选参数,辑型,是否显示接收进度,默认为False。
RequestFile会返回一个整数值,0表示提供的路径或文件名错误,1表示请求成功,2表示在规定时间内没有收到服务器没有反应。
说明:
RequestFile只是简单地向QQServer发一个约定格式的型号,QQServer收到这个消息后,
先返回一个消息,告知客户端是否接受其请求,再利用SendFile方法将指定的文件发送给客户端(如果接受客户端请求的话)。
大家可以利用这个思路,进行自己的功能扩展。
RequestFile只能请求QQServer的UploadFiles子目录下的文件,用户上传的文件也存储在这里,按月分目录存储,以避免单个目录下文件过多。
文件名要包括月份路径,使用相对路径即可,例如要请求QQServer发送2015年10月份目录下的某个文件:
Dim
ret As
Integer = QQClient.RequestFile("201510\123.jpg",2)
If
ret= 0
Then
PopMessage("文件名或路径错误")
ElseIf
ret= 2
Then
PopMessage("没有收到服务器的回应!","提示",PopIconEnum.Error)
End
If
上述代码如果请求成功,并不会出现出现任何提示,默认也不会显示文件接收进度(如需显示进度,可以将ShowProcess设置为True),可以继续进行其他操作,好像什么都没有发生。
当文件下载完成后,会触发AfterReceiveFile事件。
需要注意的是,如果本地已经有abc.jpg这个文件,下载完成后,文件会被自动更名为abc(1).jpg,如果abc(1).jpg也已经存在,就会被自动更名为abc(2).jpg。