亿思维FTP上传下载控件 V5.X- 接口说明 示例程序 - 在线试用
一、属性:
AllowType(允许的文件类型)
Busy(是否正忙)
Connected(是否已连接成功
ErrorInfo(发生错误时的错误信息)
ErrorNumber(发生错误时的错误号码)
DenyType(禁止的文件类型)
FileSize(正在传输的文件大小)
KeepAliveInterval(检测连接秒数)
LangInfo(控件文字信息)
LeftTime(当前传输的剩余时间)
LocalPath(客户端文件路径)
MaxSize(允许传输文件的最大字节)
MaxSpeed(最大传输速度KB/S)
MessageInfo(FTP服务器返回的消息)
Overwrite(是否续传)
Passive(是否使用被动模式)
Password(登录服务器的密码)
Percent(当前传输进度百分比)
Percent2(当前传输进度千分比)
Port(服务器端口)
QueueIndex(队列序号)
QueueTotal(队列文件总数)
RetryTimes(连接中断后重新传输的次数)
RemotePath(服务器端文件路径)
RenameRule(重命名文件规则)
ReplaceIndex("文件替换设置")
ServerName(服务器地址)
Speed(传输速度)
Timeout(超时时间)
TransferredSize(已传输文件大小)
Username(登录服务器用户名)
Version(控件版本)



二、方法:
Abort(取消所有文件上传)
AbortCurrent(取消当前文件上传)
Close(关闭连接)
Connect(连接到服务器)
CreateDirectory(在服务器创建目录)
DeleteFile(删除服务器上的文件)
Download(下载文件)
ExistDirectory(检测FTP目录是否存在)
ExistFile(检测FTP文件是否存在)
FormatSize(格式化文件大小)
FormatTime(格式化时间)
GetCurrentDirectory(获取服务器工作目录)
GetFileExtension(获取文件扩展名)
GetFileInfo(获取服务器端文件信息)
GetFileList(获取服务器端目录信息)
GetFileName(获取文件名称)
GetFileSize(获取服务器端文件大小)
GetLocalFileCount(获取客户端指定目录下的文件总数)
GetLocalFileDate(获取客户端文件日期)
GetLocalFileSize(获取客户端文件大小)
GetLocalFolderSize(获取客户端目录文件大小)
GetParentPath(获取父目录)
LocalFileExists(检测客户端文件是否存在)
LocalFolderExists(检测客户端目录是否存在)
RemoveDirectory(删除服务器端目录)
RenameFile(重命名服务器端文件或目录)
SetCurrentDirectory(设置服务器端当前目录)
ShowFolderBrowserDialog(显示选择文件夹对话框)
ShowOpenFileDialog(显示选择文件对话框)
ShowSaveFileDialog(显示保存文件对话框)
Upload(上传文件)
三、事件:
OnMessage(服务器端返回消息时触发)
OnTransfer(传输文件过程中触发)
四.示例:
连接
上传单个文件
上传单个目录
上传多个文件或目录
上传通配符指定的文件
下载单个文件
下载单个目录
下载多个文件或目录
下载通配符指定的文件
设置控件的提示文字信息
一、属性:
AllowType:
允许上传的文件类型;各个文件类型间以";"分隔;如:"txt;doc"
Busy:
FTP是否正在上传或下载,是返回True;
Connected:
是否已连接成功,是返回True,否返回False;
DenyType:
禁止上传的文件类型;各个文件类型间以";"分隔;如:"asp;aspx";
如果某文件类型即在AllowType中也在DenyType中,则以DenyType为准,也就是判断为禁示的文件类型;
ErrorInfo:
发生错误时的错误信息;
ErrorNumber:
发生错误时的错误号码;点击查看错误代码列表
FileSize:
正在传输的文件的大小;
KeepAliveInterval:
每隔多少秒检测与服务器的连接;单位:秒,默认30秒
LangInfo:
控件的提示文字信息,可以设置该属性以改变控件显示的提示信息,步骤如下:
1.从控件的FtpLibrary1.LangInfo属性获取控件所使用的文字信息;
2.把获取后的文字信息翻译为其它语言;
3.把翻译后的文字再赋给LangInfo属性,使控件显示其它语言的文字信息;
注:控件在中文系统中会自动显示为英文;
LeftTime:
当前文件传输的剩余时间;单位:秒
LocalPath:
调用Upload方法时为待上传文件的路径;
调用Download方法时为下载文件的保存路径;
MaxSpeed:
最大传输速度KB/s,V4.5.0.10版后支持;
如:MaxSpeed=100;表示最大传输为100KB/s;
MaxSize:
在程序中设置可以传输文件的最大值;(单位:M)
MessageInfo:
服务器端返回的消息,在事件OnMessage中获取;

Overwrite:
是否覆盖;如果不覆盖则断点续传;
1:程序中没有设置该参数,则显示"文件替换对话框";

2.设置为True,所有文件都替换;
3.设置为False,所有文件都续传;

您也可以通过设置ReplaceIndex的值,操作上面的窗口;

Passive:
是否使用被动模式传送文件,默认为True;
Password:
登录FTP服务器的密码;
Percent:
文件传输已完成的百分比;
Percent2:
文件传输已完成的千分比,最大值1000;
Port:
FTP服务器端口,默认为21;
QueueIndex:
当前传送文件在队列中的序号;
QueueTotal:
传送队列中的文件总数;
RetryTimes:
上传或下载发生错误时自动重新传输的次数;
比如参数设置为5,如果连接中断则最多尝试5次重新连接,如果连续尝试5次仍不能连接,则提示错误;
RemotePath:
服务器端文件路径;
调用Upload时,该参数为上传后文件在服务器端的保存路径;
调用Download时,该参数为待下载的服务器端文件路径;
RenameRule:
重命名文件的规则,默认为:"{oldname}1",表示在原文件名的基础上加1;如"test.htm"重命名后为"test1.htm";

ReplaceIndex:
控制"文件替换设置"窗口响应的按钮,ReplaceIndex的值为:

0:显示"文件替换对话框";

1:覆盖;
2:续传;
3:跳过;
4:重命名;(重命名规则由属性"RenameRule"指定)

ServerName:
FTP服务器名称;
Speed:
当前传输的速度,单位:bytes/s;
可用"FormatSize(FtpLibrary1.Speed) & "/s"转换为:kb/s或mb/s
Timeout:
超时时间间隔,默认为30秒;
Username:
登录FTP服务器的用户名,如果为空则相当于匿名;
Version:
显示控件的版本
二、方法:
Abort():
取消传输队列中所有文件的传输操作;
AbortCurrent():
取消传输队列中当前正在传输的文件的传输操作;
Close():
关闭连接;(v5.0版后由Disconnect改为Close)
Connect():
连接FTP服务器;成功返回True,失败返回False;
CreateDirectory(FolderPath,Recursive):
在FTP服务器上创建目录;成功返回True,失败返回False;
FolderPath:待创建的目录路径;
Recursive(可选): 是否循环创建,默认为True;
DeleteFile(FilePath):
删除FTP服务器上的文件;成功返回True,失败返回False;
FilePath:需要删除的文件路径;
Disconnect():
关闭连接;(v5.0版后由Close()代替)
Download():
'功能:下载单个文件、多个文件、整个目录或指定目录中按通配符(只支持*和?)指定的文件;成功返回True,失败返回False;
'说明:
1:下载一个文件:给RemotePath参数传要下载的文件路径;
2:下载整个目录:给RemotePath参数传要下载的目录路径,路径最后一个字符要为"\";
3:下载多个文件/目录:RemotePath参数表示的文件路径间以"|"分隔, 每个目录路径最后一个字符要为"\";此时LocalPath可对应为多个保存路径,也可以只写一个保存所有文件的路径, 如果只有一个路径所有文件以原文件名保存到该路径下;
4:下载指定目录中按通配符指定的文件:给RemotePath参数传带通配符的路径;如:easewe\*.txt

ExistDirectory(DirectoryName):
是否存在指定的FTP目录
DirectoryName:需要检测的目录路径;

ExistFile(FileName):
是否存在指定的FTP文件.(只适用于V4.5.0.5或之后的版本)
FileName:需要检测的文件路径;

FormatSize(FileSize):
标准化文件大小,如果大于1M返回以M为单位的文件大小字符串,大于1KB则以KB为单位,否则以Bytes为单位;
FileSize:以字节为单位的文件大小;
FormatTime(Seconds):
格式化时间,把剩余时间格式为hh:mm:ss的形式;.
Seconds:以秒为单位的时间值; 比如FormatTime(290)将返回"04:50"
GetCurrentDirectory():
获取FTP服务器当前的工作目录;
GetFileExtension(FilePath):
获取某路径中文件的扩展名
FilePath:文件路径,比如: GetFileExtension("d:\test\file.txt")将返回txt;

GetFileInfo(FilePath):
获取FTP服务器上的文件信息,返回格式为:名称*大小*时间(如:测试文件.txt*1825*2011-09-01 15:58:16)
FilePath:文件路径;

GetFileList(FolderPath):
获取FTP服务器目录的文件信息,返回格式为:0/1(目录为1,文件为0)*名称*大小*时间|.........各文件间以|分隔
,(如:0*测试文件.txt*1825*2011-09-01 15:58:16|1*文件夹名称*0*2011-09-01 16:18:28)
FolderPath:目录路径;
GetFileName(FilePath):
获取某路径的文件名
FilePath:文件路径,比如: GetFileExtension("d:\test\file.txt")将返回file.txt;
GetFileSize(FilePath):
获取FTP服务器上文件的大小;返回-1表示没有该文件,返回-2表示发生错误;
FileName:文件路径;
GetLocalFileCount(FolderPath):
获取客户端指定路径下所有文件的文件总数;
FolderPath:目录路径;
GetLocalFileDate(FilePath):
获取本地文件的日期;
FilePath:文件路径;
GetLocalFileSize(FilePath):
获取本地文件的大小;
FilePath:文件路径;
GetLocalFolderSize(FolderPath):
获取客户端指定路径下所有文件的文件大小;
FolderPath:目录路径;
GetParentPath(FolderPath):
获取指定目录的父目录;
FolderPath:目录路径
LocalFileExists(FilePath):
判断本地文件是否存在,存在返回True;
FilePath:本地文件路径;
LocalFolderExists(FolderPath):
判断本地文件夹是否存在,存在返回True;
FolderPath:本地目录路径;
RemoveDirectory(FolderPath):
删除FTP服务器上的目录;成功返回True,失败返回False;
FolderPath:目录路径;
RenameFile(OldFileName,NewFileName):
重命名FTP服务器上的文件(夹);成功返回True,失败返回False;
OldFileName:原文件名;
NewFileName:新文件名;
SetCurrentDirectory(FolderPath):
设置FTP服务器上的当前目录;成功返回True,失败返回False;
FolderPath:目录路径;
ShowFolderBrowserDialog():
显示选择文件夹对话框

ShowOpenFileDialog():
显示选择文件对话框;
V4.6.x.x版之后不支持参数,改用以下属性来设置:
1.SFDFileName:文件对话框中默认显示的文件名;
2.SFDFilter/AllowType:可选的文件类型;
3.SFDInitialDir:初始路径;
4.SFDMultiple:是否支持多选,默认为true;
5.SFDTitle:对话框的标题;

ShowSaveFileDialog(FileName):
显示保存文件对话框;
FileName:保存时默认显示的文件名;

相关属性:
1.SFDInitialDir:初始路径;
2.SFDTitle:对话框的标题;
Upload():
'功能:上传单个文件、多个文件、整个目录或指定目录中按通配符(只支持*和?)指定的文件;成功返回True,失败返回False;
'说明:
1:上传一个文件:直接给LocalPath参数传要上传的文件路径;
2:上传整个目录:直接给LocalPath参数传要上传的目录路径,路径最后一个字符要为"\";
3:上传多个文件/目录:LocalPath参数表示的文件路径间以"|"分隔, 每个目录路径最后一个字符要为"\";此时RemotePath可对应为多个保存路径,也可以只写一个保存所有文件的路径,如果只有一个路径所有文件以原文件名保存到该路径下;
4:上传指定目录中按通配符指定的文件:给LocalPath参数传带通配符的路径;如:c:\easewe\*.txt;
三、事件:
OnMessage:
服务器端返回消息时触发该事件;

Private Sub FtpLibrary1_OnMessage()
Debug.Print FtpLibrary1.MessageInfo
End Sub
OnTransfer:
传输过程中触发该事件,该事件用于显示进度,传输速度,和剩余时间等数据:

Private Sub FtpLibrary1_OnTransfer()
Debug.Print FtpLibrary1.Percent & "%(" & FtpLibrary1.TransferredSize& "/" & FtpLibrary1.FileSize& ")"
Debug.Print FtpLibrary1.FormatSize(FtpLibrary1.Speed) & "/s"
Debug.Print FtpLibrary1.FormatTime(FtpLibrary1.LeftTime)
End Sub
四.示例:
连接:
FtpLibrary1.ServerName ="host"
FtpLibrary1.Username ="easewe"
FtpLibrary1.Password ="easewe"
FtpLibrary1.Port =21
If FtpLibrary1.Connect Then
'连接成功
Else
'连接失败(此时可以用FtpLibrary1.ErrorInfo 和 FtpLibrary1.ErrorNumber 获取错误的描述和错误号)
End If
上传单个文件:
FtpLibrary1.LocalPath ="c:\easewe.txt"
FtpLibrary1.RemotePath ="easewe.txt"
If FtpLibrary1.Upload Then
'成功
Else
'失败(此时可以用FtpLibrary1.ErrorInfo 和 FtpLibrary1.ErrorNumber 获取错误的描述和错误号)
End If
上传单个目录'路径的最后一个字符必须为'\'
FtpLibrary1.LocalPath ="c:\easewe\"
FtpLibrary1.RemotePath ="easewe\"
If FtpLibrary1.Upload Then
'成功
Else
'失败
End If
上传多个文件或目录:'每个路径使用'|'分隔
FtpLibrary1.LocalPath ="c:\easewe.txt|c:\easewe1.txt|c:\easewe\"
FtpLibrary1.RemotePath ="easewe\"
If FtpLibrary1.Upload Then
'成功
Else
'失败
End If
上传通配符指定的文件:

FtpLibrary1.LocalPath ="c:\*.txt"
FtpLibrary1.RemotePath ="easewe\"
If FtpLibrary1.Upload Then
'成功
Else
'失败
End If
下载单个文件:
FtpLibrary1.RemotePath ="easewe.txt"
FtpLibrary1.LocalPath ="c:\easewe.txt"
If FtpLibrary1.Download Then
'成功
Else
'失败(此时可以用FtpLibrary1.ErrorInfo 和 FtpLibrary1.ErrorNumber 获取错误的描述和错误号)
End If
下载单个目录:'路径的最后一个字符必须为'\'
FtpLibrary1.RemotePath ="easewe\"
FtpLibrary1.LocalPath ="c:\easewe\"
If FtpLibrary1.Download Then
'成功
Else
'失败
End If
下载多个文件或目录:'每个路径使用'|'分隔
FtpLibrary1.RemotePath ="easewe.txt|easewe1.txt|easewe\"
FtpLibrary1.LocalPath ="c:\easewe.txt"
If FtpLibrary1.Download Then
'成功
Else
'失败
End If
下载通配符指定的文件
FtpLibrary1.RemotePath ="*.txt"
FtpLibrary1.LocalPath ="c:\easewe\"
If FtpLibrary1.Download Then
'成功
Else
'失败
End If