书签 分享 收藏 举报 版权申诉 / 36
上传文档赚钱

类型第8章FTP文件上传下载课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5067608
  • 上传时间:2023-02-07
  • 格式:PPT
  • 页数:36
  • 大小:5.88MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第8章FTP文件上传下载课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    FTP 文件 上传下载 课件
    资源描述:

    1、8.1 FTP概述概述8.2 FTP客户端开发相关类客户端开发相关类8.3 FTP文件上传下载器的制作文件上传下载器的制作8.4 FTP上传下载软件测试上传下载软件测试本章教学目的、要求本章教学目的、要求 理解文件传输的基本概念以及FTP服务的工作过程。掌握FTP客户端编程涉及的相关类。熟悉FTP上传下载器的制作。本章教学重点及难点本章教学重点及难点 FTP客户端编程涉及的相关类。FTP上传下载器的制作。8.1.1 文件传输的基本概念文件传输的基本概念文件传输服务是由FTP应用程序提供的,而FTP应用程序遵循的是TCP/IP中的文件传输协议(File Transfer Protocol,即FT

    2、P),它允许用户将文件从一台计算机传输到另一台计算机,并且能保证传输的可靠性。FTP协议采用典型的C/S模式,在传输层选择TCP协议。图8.1描述了文件传输的工作过程。匿名FTP(anonymous FTP)服务的实质是:提供服务的机构在它的FTP服务器上建立一个公开账户(通常为Anonymous),并赋予该账户访问公共目录的权限,以便提供免费的服务。如果用户要访问提供匿名服务的FTP服务器,不需要输入用户名和密码。如果需要输入它们的话,也是用系统默认的公开账户,比如“anonymous”作为用户名,密码为空;有些FTP服务器可能要求用户用自己的电子邮件地址作为密码。8.2.1 FtpWebR

    3、equest类类FtpWebRequest类用于实现FTP客户端。若要获得FtpWebRequest的实例,需使用Create方法,该方法有以下两种重载形式。1.FtpWebRequest.Create(String)例如:FtpWebRequest reqFTP=(FtpWebRequest)FtpWebRequest.Create(ftp:/myFTPServer/myFile);2.FtpWebRequest.Create(Uri)例如:Uri siteUri=new Uri(ftp:/myFTPServer/myFile);FtpWebRequest reqFTP=(FtpWebReq

    4、uest)FtpWebRequest.Create(siteUri);表8-1和表8-2分别列出了FtpWebRequest类的常用属性和方法。属性属性含义含义Credentials已重写。获取或设置用于与FTP服务器通信的凭据EnableSsl获取或设置Boolean,它指定是否使用SSL连接KeepAlive获取或设置一个Boolean值,该值指定在请求完成之后是否保持到FTP服务器的控制连接Method已重写。获取或设置要发送到FTP服务器的命令RenameTo获取或设置重命名文件的新名称RequestUri已重写。获取此实例所请求的URITimeout已重写。获取或设置等待请求的毫秒数

    5、UseBinary获取或设置一个Boolean值,该值指定文件传输的数据类型。若要传输文本数据,请将UseBinary属性由默认值true更改为falseUsePassive获取或设置客户端应用程序的数据传输过程的行为方法方法含义含义Abort已重写。终止异步FTP操作BeginGetRequestStream已重写。开始以异步方式打开请求的内容流以便写入BeginGetResponse已重写。开始以异步方式向FTP服务器发送请求并从FTP服务器接收响应Create已重载。初始化新的WebRequest(从WebRequest继承)CreateDefault为指定的URI方案初始化新的WebR

    6、equest实例(从WebRequest继承)EndGetRequestStream已重写。结束由BeginGetRequestStream启动的挂起的异步操作EndGetResponse已重写。结束由BeginGetResponse启动的挂起的异步操作GetRequestStream已重写。检索用于向FTP服务器上载数据的流GetResponse已重写。返回FTP服务器响应表表8-2FtpWebRequest类的常用方法类的常用方法发送命令是使用FtpWebRequest对象。以下代码新建FtpWebRequest对象,并设置常用属性:String ftpUriString=”ftp:/”+

    7、ftpServerIP+/”;NetworkCredential networkCredential=new NetworkCredential(UserName,Password);/根据服务器信息创建FtpWebRequest类的对象FtpWebRequest request=(FtpWebRequest)FtpWebRequest.Create(ftpUriString);/提供身份验证信息request.Credentials=networkCredential;/设置请求完成之后是否保持到FTP服务器的控制连接,默认值为Truerequest.KeepAlive=true;/设置传输

    8、的数据类型request.UseBinary=true;/设置所要执行的FTP命令。假设此处为显示指定路径下的文件列表request.Method=WebRequestMethods.Ftp.ListDirectoryDetails;FtpWebResponse类用于封装FTP服务器对请求的响应。FtpWebResponse对象提供操作的状态以及从服务器下载的所有数据。获取FTP响应时,需通过调用FtpWebRequest对象的GetResponse方法获取。返回的对象必须强制转换为FtpWebResponse.关键代码为:FtpWebRequest request=(FtpWebReques

    9、t)FtpWebRequest.Create(ftpUriString);FtpWebResponse response=(FtpWebResponse)request.GetResponse();表8-3和表8-4分别列出了FtpWebResponse类的常用属性和方法。属性属性含义含义BannerMessage获取在登录前建立连接时FTP服务器发送的消息ContentLength已重写。获取从FTP服务器上接收的数据的长度ContentType当在派生类中重写时,获取或设置接收的数据的内容类型(从WebResponse继承)ExitMessage获取FTP会话结束时服务器发送的消息Resp

    10、onseUri已重写。获取对请求发送响应的URIStatusCode获取从FTP服务器上发送的最新状态代码StatusDescription获取描述从FTP服务器发送的状态代码的文本WelcomeMessage获取身份验证完成时FTP服务器发送的消息方法方法含义含义Close已重写。释放响应所持有的资源GetResponseStream已重写。检索包含从FTP服务器上发送的响应数据的流在System.Net命名空间下,有一个NetworkCredential类。该类用于提供客户端身份验证机制的凭据。NetworkCredential类是为基于密码的身份验证方案(如基本、简要、NTLM和Kerb

    11、eros)提供凭据的基类,不支持基于公钥的身份验证方法,如安全套接字层(SSL)客户端身份验证。当需要验证访问权限时,我们需要使用这个类提供FTP服务器需要的用户名和密码,用法为:NetworkCredential myCredentials=new NetworkCredential(“FTP用户名”,密码);表8-5列出了NetworkCredential类的常用属性。属性属性含义含义UserName获取或设置与凭据关联的用户名Password获取或设置与凭据关联的用户名的密码Domain获取或设置验证凭据的域名或计算机名8.3.1FTP工具常用功能及工作流程工具常用功能及工作流程在使用F

    12、TP工具时,首先要登录服务器,验证登录用户是否合法。如果登录成功,便可以上传本地文件或文件夹,同时也可以管理FTP服务器端文件,包括下载、删除文件以及变更、访问、重命名目录、创建新目录等。通常FTP工具的工作流程如图8.2所示。根据图8.2的流程,设计本章FTP文件上传下载软件的界面如图8.3所示。软件工程名为“SelftpUpDownloader”,程序界面上各控件的属性描述见表8-6。Name控件类型控件类型功能描述功能描述frmMainForm程序主窗体lstbxFtpResrcsListBox资源一览区rTbxFtpResViewRichTextBox资源浏览提示tbxSrvIpTex

    13、tBoxFTP服务器IP地址编辑栏tbxUsrTextBox用户名填写栏chkbxAnonymousCheckBox【匿名】复选框tbxPwdTextBox密码输入框btnLoginButton【登录】按钮btnLogoutButton【注销】按钮tbxLoginTextBox登录状态提示btnUploadButton【上传】按钮btnDownloadButton【下载】按钮btnDeleteButton【删除】按钮tbxOptTextBox操作结果提示lstbxFtpStatsListBox连接状态显示区btnExitButton【退出】按钮btnAboutboxButton【关于】按钮1.

    14、登录和注销登录和注销本软件的登录界面如图8.4所示。类似这样的功能主要通过下面的界面控制代码来实现。以下是登录FTP服务器的代码。因为FTP协议是基于TCP的,又由于TCP连接的无状态性,每一次对FTP访问后,连接会自动断开,故注销退出登录的功能很简单,只要实现一些界面效果的控制就行了,其代码为。2.程序与程序与FTP服务器的交互服务器的交互创建FtpWebRequest对象:private FtpWebRequest CreateFtpWebRequest(string uri,string requestMethod)FtpWebRequest request=(FtpWebRequest

    15、)FtpWebRequest.Create(uri);request.Credentials=networkCredential;request.KeepAlive=true;request.UseBinary=true;request.Method=requestMethod;return request;获取服务器返回的响应体。3.显示资源列表显示资源列表为了能让用户直观地看到FTP服务器上的资源,客户端必须动态显示当前目录下的资源列表。本程序编写了ShowFtpFileAndDirectory()方法显示FTP上的文件和目录,其完整实现的源代码。客户端通过向服务器“上送”WebReque

    16、stMethods.Ftp.ListDirectoryDetails方法,获取服务器返回的、包装了其上全部资源详细信息的响应体。在解析这个响应体生成的文件流时,客户端会将目录名和文件名加以区分,在每个目录名之前加上 目录 标记,其界面显示效果如图8.5所示。4.变更访问目录变更访问目录FTP客户端支持用户变更当前目录,与操作【我的电脑】资源管理器类似,双击目录名进入相应的文件夹,双击“返回上层目录”退回到浏览过的上一级文件夹,如图8.5。这样用户就可以地访问FTP上的所有信息资源了。变更目录的模块代码。5.上传文件上传文件向服务器上传文件的代码。GetUriString()方法的实现过程如下:

    17、private string GetUriString(string fileName)string uri=string.Empty;if(currentDir.EndsWith(/)uri=ftpUriString+currentDir+fileName;elseuri=ftpUriString+currentDir+/+fileName;return uri;6.下载文件下载文件FTP文件下载的原理与上传类似,只不过向服务器上送的方法命令不同,为WebRequestMethods.Ftp.DownloadFile,打开的数据通道为下载流responseStream,其代码为。GetSel

    18、ectedFile()方法的实现过程如下:private string GetSelectedFile()string filename=;if(!(lstbxFtpResrcs.SelectedIndex=-1|lstbxFtpResrcs.SelectedItem.ToString().Substring(0,4)=目录)string namefield=lstbxFtpResrcs.SelectedItem.ToString().Split();filename=namefield0;return filename;7.删除文件删除文件为了安全起见,一般的FTP服务器都不对普通用户开放删

    19、除功能,但本章软件将删除文件的功能也一并实现,其代码为。8.【关于关于】对话框对话框与其他应用软件一样,FTP客户端也有声明程序版本和版权的【关于】对话框,设计这个对话框如图8.6所示。笔者在自己单位的局域网内运行这个程序,FTP服务器的IP为“192.168.101.3”,匿名登录,效果如图8.7所示。选用笔者收藏的两张精美的美人鱼图片做测试用文件,文件位于【我的文档】【图片收藏】中,如图8.8所示。(1)上传文件启动FTP上传下载器,双击进入自己的文件夹目录,如图8.9所示。单击【上传】按钮,弹出【打开】对话框,选择自己电脑上收藏的图片文件后,单击【打开】,开始上传文件,如图8.10所示。

    20、上传完毕,出现“上传成功!”消息框,点【确定】,可以在当前目录下看到刚刚传上服务器的文件,如图8.11中框出。(2)下载文件选中刚才传上服务器的一张图片,单击【下载】按钮,如图8.12所示。在弹出的【另存为】对话框中,选择文件的保存路径,这里选择保存到【我的文档】,如图8.13所示。用同样的方法保存另一张图片,操作完后在【我的文档】目录下,可以看到刚刚保存的图片,如图8.14所示。(3)删除文件选择文件名后单击【删除】按钮,在弹出的【确认文件删除】消息框中选择【是(Y)】,如图8.15所示。用同样方法删除服务器上另一张图片,此时界面自动刷新,前面上传到该目录下的两张图片已经不见了,如图8.16所示。本章作业本章作业理论作业:1、为FTP上传下载器添加文件重命名功能,要求自行 编写客户端程序。上机作业:实验九 FTP上传下载器的制作

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第8章FTP文件上传下载课件.ppt
    链接地址:https://www.163wenku.com/p-5067608.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库