FTP Client
1: /// <summary>2: /// FTP 管理类3: /// </summary>4: public class FTPManage5: {6: private string _Host; //服务器地址7: private int? _Port; //端口号8: private string _User; //用户名9: private string _Pass; //密码10: //public string Path; //具体文件路径11: //public string fileName; //具体下载文件12: //public string SaveFilePath; //保存路径13:14: /// <summary>15: /// 构造函数16: /// </summary>17: /// <param name="Host"></param>18: /// <param name="Port"></param>19: /// <param name="User"></param>20: /// <param name="Pass"></param>21: public FTPManage(string Host, int? Port, string User, string Pass)22: {23: this._Host = Host;24: this._Port = Port;25: this._User = User;26: this._Pass = Pass;27: }28:29: /// <summary>30: /// 判断文件是否存在31: /// </summary>32: /// <returns></returns>33: public string ChkIsFile(string path, string fielName)34: {35: string defaultStr = string.Empty; //默认不存在36: if (string.IsNullOrEmpty(fielName)) //必须填写文件名37: {38: return defaultStr = "文件名不能为空";39: }40: string url = string.Format("ftp://{0}/{1}/{2}", _Host, path, fielName);41: var request = (FtpWebRequest)WebRequest.Create(url);42: request.Credentials = new NetworkCredential(_User, _Pass);43: request.Method = WebRequestMethods.Ftp.GetFileSize;44: try45: {46: FtpWebResponse response = (FtpWebResponse)request.GetResponse();47: }48: catch (WebException ex)49: {50: FtpWebResponse response = (FtpWebResponse)ex.Response;51: if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable)52: {53:54: }55: return defaultStr = "获取文件异常";56: }57: return defaultStr;58: }59:60: /// <summary>61: /// 下载文件62: /// </summary>63: /// <param name="path"></param>64: /// <param name="file"></param>65: /// <param name="SavePath"></param>66: /// <returns></returns>67: public string LodeFile(string path, string fielName, string SavePath)68: {69: string defaultStr = string.Empty;70: if (string.IsNullOrEmpty(fielName)) //必须填写文件名71: {72: return defaultStr = "文件名不能为空";73: }74: if (string.IsNullOrEmpty(SavePath)) //必须填写文件名75: {76: return defaultStr = "文件保存路径不能为空";77: }78: try79: {80: string url = string.Format("ftp://{0}/{1}/{2}", _Host, path, fielName);81: FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(url);82: reqFTP.UseBinary = true;83: reqFTP.Credentials = new NetworkCredential(_User, _Pass);84:85: FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();86: Stream ftpStream = response.GetResponseStream();87: long cl = response.ContentLength;88: int bufferSize = 2048;89: int readCount;90: byte[] buffer = new byte[bufferSize];91:92: readCount = ftpStream.Read(buffer, 0, bufferSize);93: FileHelper.IsDirectory(SavePath);94: FileStream outputStream = new FileStream(SavePath + "\\" + fielName, FileMode.Create);95: while (readCount > 0)96: {97: outputStream.Write(buffer, 0, readCount);98: readCount = ftpStream.Read(buffer, 0, bufferSize);99: }100: ftpStream.Close();101: outputStream.Close();102: response.Close();103: }104: catch (Exception ex)105: {106: defaultStr = "文件下载异常:" + ex.Message;107: }108: return defaultStr;109: }110:111: /// <summary>112: /// 获取指定目录文件列表113: /// </summary>114: /// <returns></returns>115: public string[] GetFileList(string Path)116: {117: try118: {119: string url = string.Format("ftp://{0}/{1}", _Host, Path);120: //获得FTP文件上的文件列表121: FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);122: request.Method = WebRequestMethods.Ftp.ListDirectory;123: request.Credentials = new NetworkCredential(_User, _Pass);124:125: FtpWebResponse response = (FtpWebResponse)request.GetResponse();126: Stream stream = response.GetResponseStream();127:128: StreamReader reader = new StreamReader(stream);129: List<string> files = new List<string>();130:131: while (!reader.EndOfStream)132: {133: string file = reader.ReadLine();134: files.Add(file);135: }136:137: reader.Close();138: stream.Close();139:140: return files.ToArray();141: }142: catch { return new string[0]; }143: }144:145: }
FTP Client的更多相关文章
- Ubuntu Filezilla FTP Client 安装
		/************************************************************************************* * Ubuntu File ... 
- 使用 FileZilla FTP Client连接Vsftpd在执行LIST命令后提示连接超时
		使用 FileZilla FTP Client 连接 Vsftpd在执行LIST命令后提示连接超时. vi /etc/vsftpd/vsftpd.conf 添加: #开启被动模式 pasv_enabl ... 
- csharp: FTP Client Library using System.Net.FtpWebRequest
		using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ... 
- C# Ftp Client 基本操作
		C# Ftp Client 上传.下载与删除 简单介绍一下Ftp Client 上传.下载与删除,这是目前比较常用的命令,各个方法其实都差不多,重点是了解Ftp命令协议. 1.建立连接 public ... 
- FileZilla FTP Client
		FileZilla Client是一个快速.实用.多功能和界面直观的免费的FTP客户端,虽然它是免费软件,可功能却一点也不含糊,比起那些共享软件来有过之而无不及,在新的版本中作者改进了手动下载的界面和 ... 
- csharp: FTP Client Library using System.Net.FtpClient and FluentFTP,测试中存在的BUG修正
		https://netftp.codeplex.com/ /// <summary> /// Gets a file listing from the server. Each FtpLi ... 
- csharp:FTP Client Library using FtpWebRequest or Sockets
		https://netftp.codeplex.com/SourceControl/latest http://ftplib.codeplex.com/ https://www.codeproject ... 
- 【FileZilla FTP Client】文件与服务器操作客户端
		跨平台的FTP,FTPS和SFTP客户端 可以断点续传进行上传.下载(需要服务器支持). 自定义命令. 可进行站点管理. 
- Spring Boot Ftp Client 客户端示例支持断点续传
		本章介绍 Spring Boot 整合 Ftpclient 的示例,支持断点续传 本项目源码下载 1 新建 Spring Boot Maven 示例工程项目 注意:是用来 IDEA 开发工具 File ... 
随机推荐
- (转)iOS Wow体验 - 第八章 - 易用性与自动化技术
			本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第八章译文精选,也是全书译文的最后一篇.上一篇:W ... 
- Linux基本操作 1-----命令行BASH的基本操作
			1 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层 shell 分为两种 CUI : Command Line Interface Lin ... 
- .net网站开发(一):1.input表单元素
			其实,在半年前我对网站开发还是完全不感冒的,不是没认识,而是只认识到表面.我以为网站模型就那几样,新闻.论坛.博客啥的,仿个站出来有什么意思?但现在我是知道了,大多应用开发还是采用B/S架构的,包括服 ... 
- EL 表达式中自己定义函数
			第一步: 在WEB-INF/tld/ 文件夹下创建一个func.tld文件例如以下: <taglib xmlns="http://java.sun.com/xml/ns/j2ee&qu ... 
- iOS中如何获取image.xcassets中的启动图片
			/** * 获取启动图片 */ +(UIImage *)launchImage{ NSString *imageName=@"LaunchImage-700"; if(iphon ... 
- C# 将窗口移动到指定位置
			private void button1_Click(object sender, EventArgs e) { Frm f = new Frm(); f.StartPosition = FormSt ... 
- Asp.Net HttpApplication请求管道与Session(一)
			1.请求处理顺序执行事件 /********************请求处理顺序执行事件**********************/ /// <summary> /// 请求入站 /// ... 
- FileShare文件读写锁解决“文件XXX正由另一进程使用,因此该进程无法访问此文件”(转)
			开发过程中,我们往往需要大量与文件交互,读文件,写文件已成家常便饭,本地运行完美,但一上到投产环境,往往会出现很多令人措手不及的意外,或开发中的烦恼,因此,我对普通的C#文件操作做了一次总结,问题大部 ... 
- C#总结(一)
			学C#也有两年多了,发现如果不总结一下,很多C#的知识都会忘掉,所以希望写这系列的文章来总结一下C#的基础知识.如果有写错或者不足的地方,希望可以提出纠正. C#可以说是依附在.NET Framewo ... 
- pair/sort/find/qsort
			1. pair template <class T1, class T2> struct pair { typedef T1 first_type; typedef T2 second_t ... 
