FTP文件操作之下载文件
前面写了采用ftp上传文件,有了上传怎么能够没有下载呢?如果只有上传没有下载,那上传了也没啥用了。所以今天就跟大家一起学习学习使用ftp下载文件。
知道了怎么上传,那么下载也就变得很简单了,上传是把文件放到服务器,而下载是把文件从服务器取过来。一个是从本地读文件,然后写到服务器;另一个是从服务器读文件,然后写到本地。基本原理就是这样,下面我们看看具体的代码:
/// <summary> /// FTP下载文件 /// </summary> /// <param name="userId">ftp用户名</param> /// <param name="pwd">ftp密码</param> /// <param name="ftpPath">ftp文件路径</param> /// <param name="filePath">下载保存路径</param> /// <param name="fileName">ftp文件名</param> /// <returns></returns> public string Download(string userId, string pwd, string ftpPath, string filePath, string fileName) { string sRet = "下载成功!"; FtpWebRequest reqFTP; try { FileStream outputStream = new FileStream(filePath + fileName, FileMode.Create); // 根据uri创建FtpWebRequest对象 reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpPath + fileName)); // 指定执行什么命令 reqFTP.Method = WebRequestMethods.Ftp.DownloadFile; // 指定数据传输类型 reqFTP.UseBinary = true; reqFTP.UsePassive = false; // ftp用户名和密码 reqFTP.Credentials = new NetworkCredential(userId, pwd); FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); // 把下载的文件写入流 Stream ftpStream = response.GetResponseStream(); long cl = response.ContentLength; // 缓冲大小设置为2kb int bufferSize = 2048; int readCount; byte[] buffer = new byte[bufferSize]; // 每次读文件流的2kb readCount = ftpStream.Read(buffer, 0, bufferSize); while (readCount > 0) { // 把内容从文件流写入 outputStream.Write(buffer, 0, readCount); readCount = ftpStream.Read(buffer, 0, bufferSize); } //关闭两个流和ftp连接 ftpStream.Close(); outputStream.Close(); response.Close(); } catch (Exception ex) { sRet=ex.Message; } //返回下载结果(是否下载成功) return sRet; }
以上代码可以实现一个简单的ftp下载的功能,只要在需要的地方调用此方法即可。代码很简单,功能很实用。
还有很多FTP的相关操作,以后会陆续跟大家分享,敬请期待!
AgileEAS.NET SOA 平台 5.1 版本功能预览
一、AgileEAS.NET SOA平台简介
AgileEAS.NET SOA平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。
AgileEAS.NET SOA平台基于软件过程改进以及构件化快速开发两方面达到这方面的目标,在软件过程改进实践方面,提出了独有的“敏捷并行开发方法”开发方法,其目的是在软件的管理之中提出符合国内中小软件企业实际情况并且可操作的软件工程实践、软件过程改进思想、及相配套的项目管理系统。
在快速开发方面,AgileEAS.NET SOA平台提供了企业应用开发所需的诸如ORM、IOC、分布式通信、插件与平台基础结构以及一系统的快速生成工具,涵盖开发过程中的设计、编码、集成、部署、运维等各个环节。
AgileEAS.NET SOA平台是一套基于微软dotNET技术体系的企业级快速开发平台/中间件/框架,我们一直一来努力为国内中心软件开发商、创业团队、独立开发者提供最好的企业应用快速开发工具帮助大家成长,在最新的AgileEAS.NET‘ 5 .0版本中对Winform/WPF/Silverlight/WebForm都提供运行支撑平台,我们努力提供一套Winform/WPF/Silverlight/WebForm不同展现与统一的后端支撑的多层分布式架构体系。
二、AgileEAS.NET SOA平台5.1版本变化
AgileEAS.NET SOA平台 5.0版本在5.0,版本的基础上做了非常大的变动和提高:
1.完成了大部分Linq表达式的实现,5.0版本的Linq,仅实现了针对单对象的查询、分页、排序等操作,5.1版本则实现了90%的linq表达式,包括多实体(表)链接、分组汇总、聚合处理,使用linq即可以实现大部分的业务功能。
2.进一步优化了ORM的性能,重点优化了ORM对象加载、分布式架构之中的处理和影响速度。
3.新增加对Mysql、Sqlite数据库的支持,目前AgileEAS.NET SOA平台共支持SQL Server、ORACLE、Mysql、Sqlite四种数据库。
4.优化了SOA服务器的响应性能。
5.增加AgileIM.NET即时通讯产品并和平台进行了深度整合。
6.扩展了工作流,实现了多人审批、和分级组织权限的控制。
7.强化WinClient运行容器,增加了Desktop样式。
8.开放更多WinClient运行容器接口,开发人员可以定制主界面。
9.增加了数制库初始化工作,让学习者更容易入门。
10.增加了配置定义工具,让开发和部署更方便。
11.新版本集成了Grid++报表,让报表开发和报表打印有了更多的选择。
12.增加一个快速字典录入工具,快速实现类似DataWindow的功能,帮助开发人员实现各种字典的快速辅助录入。
13.增加快速动态报表功能,让系统的实使人员、系统维护人员快速的根据客户需求实现各种自定义了报表,不修改任何程序即向使用者提供各种扩展报表。
三、AgileEAS.NET SOA 5.1下载
AgileEAS.NET SOA平台 51版本目前可以在AgileEAS.NET SOA 官方网站http://wwww.smarteas.net网站最新下载栏目进行下载。
这里需要注意的是最新版本的下载不带任何数据库文件或者数据库脚本,请下载之后执行数据库初始化工具EAS.DbInitializer.exe创建AgileEAS.NET SOA平台运行所必须的数据库结构和数据。
与5.1版本配套的案例DruShop也提供了下载,请大家通过官网的最新下载栏目进行下载。
下一篇文章我将会向大家介绍如何初始化配置AgileEAS.NET SOA 平台及搭建基本的开发环境。
四、如何联系我们
如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。
1、官方网站:
AgileEAS.NET平台:http://www.smarteas.net/
敏捷软件工程实验室:http://www.agilelab.cn/
作者:魏琼东
出处:http://www.cnblogs.com/eastjade
关于作者:近10年的软件从业经历,专注于中小软件企业软件开发过程研究,通过在技术与管理帮助中小软件企业实现技术层面开源节流的目的。熟悉需求分析、企业架构、项目管理。现主要从事基于AgileEAS.NET平台的技术咨询工作。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过mail.james@qq.com 联系我,也可以加入QQ群:120661978、172060626、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨论,非常感谢。