asp.net 一个封装比较完整的FTP类
参数说明: RemoteFile: 当前目录下的文件名 DirectoryName: 新目录名称。 说明:如果新目录是当前目录的子目录,则直接指定子目录。如: SubDirectory1/SubDirectory2 ; 如果新目录不是当前目录的子目录,则必须从根目录一级一级的指定。如:./NewDirectory/SubDirectory1/SubDirectory2 MakeDirectory(string DirectoryName) 在FTP服务器上当前工作目录建立一个子目录。 参数说明: DirectoryName: 子目录名称 RemoveDirectory(string DirectoryName) 从当前工作目录中删除一个子目录。 参数说明: DirectoryName: 子目录名称 IsValidPathChars(string DirectoryName) 判断目录名中字符是否合法。 参数说明: DirectoryName: 目录名称 IsValidFileChars(string FileName) 判断文件名中字符是否合法。 参数说明: FileName: 文件名称 GotoDirectory(string DirectoryName) 进入一个目录。 参数说明: DirectoryName: 新目录的名字。 说明:如果新目录是当前目录的子目录,则直接指定子目录。如: SubDirectory1/SubDirectory2 ; 如果新目录不是当前目录的子目录,则必须从根目录一级一级的指定。如:./NewDirectory/SubDirectory1/SubDirectory2 EnterOneSubDirectory(string DirectoryName) 从当前工作目录进入一个子目录。 参数说明: DirectoryName: 子目录名称 ComeoutDirectory() 从当前工作目录往上一级目录。 公共事件 名称 说明 DownloadProgressChanged 异步下载进度发生改变触发的事件 DownloadDataCompleted 异步下载文件完成之后触发的事件 UploadProgressChanged 异步上传进度发生改变触发的事件 UploadFileCompleted 异步上传文件完成之后触发的事件 其他说明 序号 说明 1 支持代理服务器。 可以显式地给Proxy属性赋值;也可以在构造函数中传递Proxy对象。如果代理需要登录用户和密码,则设置Proxy的Credentials属性,例如: Proxy.Credentials = new NetworkCredential(UserName, Password) 如果没有代理,则无需给Proxy属性赋值或者在构造函数中无需传递Proxy参数。 2 下载文件和上传文件大小最大受Int32.MaxValue限制,所以最大处理只能是2,147,483,647字节。如果您想处理更大的文件,请自己修改代码中对文件打开和读写操作部分的代码使其适应您的要求。 3 只有在异步上传文件或者异步下载文件的时候,才支持进度百分比触发事件和下载(上传)完成事件。 4 由于服务器未发送文件大小,因此被动 FTP 文件传输总是将进度百分比显示为零。若要显示进度,可以通过重写 GetWebRequest 虚拟方法来将 FTP 连接更改为活动状态。所以,我们在clsFTP类中另外使用内部类MyWebClient 5 在列出文件和目录的时候,clsFTP类区分出了所获得的响应数据哪些是文件,哪些是目录。同时,考虑到了FTP服务器上面目录样式为MS DOS和UNIX两种表现形式的不同。 6 支持在FTP服务器上面不同目录之间移动文件和拷贝文件的功能。移动文件的方法比较巧妙,只是拷贝文件所使用的方法不太理想。 打包下载 discuz的比较好用 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |