电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

文件上传下载

  • 资源ID:88095798       资源大小:4.50MB        全文页数:36页
  • 资源格式: PPT        下载积分:25金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要25金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

文件上传下载

第8章 FTP文件上传下载,8.1 FTP概述,8.2 FTP客户端开发相关类,8.3 FTP文件上传下载器的制作,8.4 FTP上传下载软件测试,本章教学目的、要求 理解文件传输的基本概念以及FTP服务的工作过程。 掌握FTP客户端编程涉及的相关类。 熟悉FTP上传下载器的制作。 本章教学重点及难点 FTP客户端编程涉及的相关类。 FTP上传下载器的制作。,8.1 FTP概述,8.1.1 文件传输的基本概念 文件传输服务是由FTP应用程序提供的,而FTP应用程序遵循的是TCP/IP中的文件传输协议(File Transfer Protocol,即FTP),它允许用户将文件从一台计算机传输到另一台计算机,并且能保证传输的可靠性。,8.1.2 FTP服务的工作过程,FTP协议采用典型的C/S模式,在传输层选择TCP协议。图8.1描述了文件传输的工作过程。,8.1.3 匿名FTP服务,匿名FTP(anonymous FTP)服务的实质是:提供服务的机构在它的FTP服务器上建立一个公开账户(通常为Anonymous),并赋予该账户访问公共目录的权限,以便提供免费的服务。如果用户要访问提供匿名服务的FTP服务器,不需要输入用户名和密码。如果需要输入它们的话,也是用系统默认的公开账户,比如“anonymous”作为用户名,密码为空;有些FTP服务器可能要求用户用自己的电子邮件地址作为密码。,8.2 FTP客户端开发相关类,8.2.1 FtpWebRequest类 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 = (FtpWebRequest)FtpWebRequest.Create(siteUri);,8.2.1 FtpWebRequest类,表8-1和表8-2分别列出了FtpWebRequest类的常用属性和方法。,8.2.1 FtpWebRequest类,表8-2 FtpWebRequest类的常用方法,8.2.1 FtpWebRequest类,发送命令是使用FtpWebRequest对象。以下代码新建FtpWebRequest对象,并设置常用属性: String ftpUriString = ”ftp:/”+ftpServerIP+“/”; NetworkCredential networkCredential = new NetworkCredential(UserName, Password); /根据服务器信息创建FtpWebRequest类的对象 FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpUriString); /提供身份验证信息 request.Credentials = networkCredential; /设置请求完成之后是否保持到FTP服务器的控制连接,默认值为True request.KeepAlive = true; /设置传输的数据类型 request.UseBinary = true; /设置所要执行的FTP命令。假设此处为显示指定路径下的文件列表 request.Method=WebRequestMethods.Ftp.ListDirectoryDetails;,8.2.2 FtpWebResponse类,FtpWebResponse类用于封装FTP服务器对请求的响应。FtpWebResponse对象提供操作的状态以及从服务器下载的所有数据。获取FTP响应时,需通过调用FtpWebRequest对象的GetResponse方法获取。返回的对象必须强制转换为FtpWebResponse. 关键代码为: FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(ftpUriString); FtpWebResponse response = (FtpWebResponse)request.GetResponse( ); ,8.2.2 FtpWebResponse类,表8-3和表8-4分别列出了FtpWebResponse类的常用属性和方法。,8.2.3 NetworkCredential类,在System.Net命名空间下,有一个NetworkCredential类。该类用于提供客户端身份验证机制的凭据。NetworkCredential类是为基于密码的身份验证方案(如基本、简要、NTLM和Kerberos)提供凭据的基类,不支持基于公钥的身份验证方法,如安全套接字层(SSL)客户端身份验证。当需要验证访问权限时,我们需要使用这个类提供FTP服务器需要的用户名和密码,用法为: NetworkCredential myCredentials = new NetworkCredential(“FTP用户名”, “密码“);,8.2.3 NetworkCredential类,表8-5列出了NetworkCredential类的常用属性。,8.3 FTP文件上传下载器的制作,8.3.1FTP工具常用功能及工作流程 在使用FTP工具时,首先要登录服务器,验证登录用户是否合法。如果登录成功,便可以上传本地文件或文件夹,同时也可以管理FTP服务器端文件,包括下载、删除文件以及变更、访问、重命名目录、创建新目录等。通常FTP工具的工作流程如图8.2所示。,8.3.2 FTP客户端界面设计,根据图8.2的流程,设计本章FTP文件上传下载软件的界面如图8.3所示。,8.3.2 FTP客户端界面设计,软件工程名为“SelftpUpDownloader”,程序界面上各控件的属性描述见表8-6。,8.3.4 各功能模块代码,1. 登录和注销 本软件的登录界面如图8.4所示。,8.3.4 各功能模块代码,类似这样的功能主要通过下面的界面控制代码来实现。 以下是登录FTP服务器的代码。 因为FTP协议是基于TCP的,又由于TCP连接的无状态性,每一次对FTP访问后,连接会自动断开,故注销退出登录的功能很简单,只要实现一些界面效果的控制就行了,其代码为。,8.3.4 各功能模块代码,2. 程序与FTP服务器的交互 创建FtpWebRequest对象: private FtpWebRequest CreateFtpWebRequest(string uri, string requestMethod) FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(uri); request.Credentials = networkCredential; request.KeepAlive = true; request.UseBinary = true; request.Method = requestMethod; return request; 获取服务器返回的响应体。,8.3.4 各功能模块代码,3. 显示资源列表 为了能让用户直观地看到FTP服务器上的资源,客户端必须动态显示当前目录下的资源列表。本程序编写了ShowFtpFileAndDirectory( )方法显示FTP上的文件和目录,其完整实现的源代码。,8.3.4 各功能模块代码,客户端通过向服务器“上送”WebRequestMethods.Ftp.ListDirectoryDetails方法,获取服务器返回的、包装了其上全部资源详细信息的响应体。在解析这个响应体生成的文件流时,客户端会将目录名和文件名加以区分,在每个目录名之前加上 目录 标记,其界面显示效果如图8.5所示。,8.3.4 各功能模块代码,4. 变更访问目录 FTP客户端支持用户变更当前目录,与操作【我的电脑】资源管理器类似,双击目录名进入相应的文件夹,双击“返回上层目录”退回到浏览过的上一级文件夹,如图8.5。这样用户就可以地访问FTP上的所有信息资源了。 变更目录的模块代码。,8.3.4 各功能模块代码,5. 上传文件 向服务器上传文件的代码。 GetUriString( )方法的实现过程如下: private string GetUriString(string fileName) string uri = string.Empty; if (currentDir.EndsWith(“/“) uri = ftpUriString + currentDir + fileName; else uri = ftpUriString + currentDir + “/“ + fileName; return uri; ,8.3.4 各功能模块代码,6. 下载文件 FTP文件下载的原理与上传类似,只不过向服务器上送的方法命令不同,为WebRequestMethods.Ftp.DownloadFile,打开的数据通道为下载流responseStream,其代码为。 GetSelectedFile( )方法的实现过程如下: 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; ,8.3.4 各功能模块代码,7. 删除文件 为了安全起见,一般的FTP服务器都不对普通用户开放删除功能,但本章软件将删除文件的功能也一并实现,其代码为。 8. 【关于】对话框 与其他应用软件一样,FTP客户端也有声明程序版本和版权的【关于】对话框,设计这个对话框如图8.6所示。,8.3.5 程序试运行,笔者在自己单位的局域网内运行这个程序,FTP服务器的IP为“ 192.168.101.3”,匿名登录,效果如图8.7所示。,8.4 FTP上传下载软件测试,选用笔者收藏的两张精美的美人鱼图片做测试用文件,文件位于【我的文档】【图片收藏】中,如图8.8所示。,8.4 FTP上传下载软件测试,(1) 上传文件 启动FTP上传下载器,双击进入自己的文件夹目录,如图8.9所示。,8.4 FTP上传下载软件测试,单击【上传】按钮,弹出【打开】对话框,选择自己电脑上收藏的图片文件后,单击【打开】,开始上传文件,如图8.10所示。,8.4 FTP上传下载软件测试,上传完毕,出现“上传成功!”消息框,点【确定】,可以在当前目录下看到刚刚传上服务器的文件,如图8.11中框出。,8.4 FTP上传下载软件测试,(2) 下载文件 选中刚才传上服务器的一张图片,单击【下载】按钮,如图8.12所示。,8.4 FTP上传下载软件测试,在弹出的【另存为】对话框中,选择文件的保存路径,这里选择保存到【我的文档】,如图8.13所示。,8.4 FTP上传下载软件测试,用同样的方法保存另一张图片,操

注意事项

本文(文件上传下载)为本站会员(F****n)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.