电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

文件上传下载

36页
  • 卖家[上传人]:F****n
  • 文档编号:88095798
  • 上传时间:2019-04-18
  • 文档格式:PPT
  • 文档大小:4.50MB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第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),并赋予该账户访问公共目录的权限,以便提供免费的服务。如果用户要访问提供匿名

      2、服务的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 FtpWebRequ

      3、est类,表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 =

      4、 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类

      5、的常用属性和方法。,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服务器端文件,包括下载、删除文件以及变更、访问、重命名目录、创建新目录等。通常

      6、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.Creat

      7、e(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、】资源管理器类似,双击目录名进入相应的文件夹,双击“返回上层目录”退回到浏览过的上一级文件夹,如图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

      9、( )方法的实现过程如下: 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分享,可在线阅读,更多相关《文件上传下载》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.