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 ...
随机推荐
- hdu4126Genghis Khan the ConquerorGenghis Khan the Conqueror(MST+树形DP)
题目请戳这里 题目大意:给n个点,m条边,每条边权值c,现在要使这n个点连通.现在已知某条边要发生突变,再给q个三元组,每个三元组(a,b,c),(a,b)表示图中可能发生突变的边,该边一定是图中的边 ...
- Hadoop Failed to set permissions of path
在Eclipse里面写了个測试程序:把HDFS中的数据批量导入到HBase中 写好后,在本地測试遇到了例如以下问题: 14/04/21 16:49:53 WARN util.NativeCodeLoa ...
- android 中文件加密 解密 算法实战
现在项目里面有一个需求,本项目里面下载的视频和文档都不允许通过其他的播放器播放,在培训机构里面这样的需求很多.防止有人交一份钱,把所有的课件就拷给了别人.这样的事情培训机构肯定是不愿意的.现在我项目里 ...
- SqlBulkCopy使用心得 (大量数据导入)
文章转载原地址:http://www.cnblogs.com/mobydick/archive/2011/08/28/2155983.html 最近做的项目由于之前的设计人员懒省事,不按照范式来,将一 ...
- Asp.Net EF Code First 简单入门
今天在上班期间花了点时间学习了一下微软的EntityFramework Code First技术,这篇文章只是简单的入门,不多废话,下面直入主题. 一.首先添加一个解决方案,接着添加一个web网站,D ...
- centos打开3306端口
centos默认是关闭了3306端口的,外网通过3306端口不能访问数据库,这时需呀打开3306端口1.打开端口: /sbin/iptables -I INPUT -p tcp --dport 330 ...
- 洛谷 P3392 涂国旗
P3392 涂国旗 题目描述 某国法律规定,只要一个由N*M个小方块组成的旗帜符合如下规则,就是合法的国旗.(毛熊:阿嚏——) 从最上方若干行(>=1)的格子全部是白色的. 接下来若干行(> ...
- 自定义滚动条 niceScroll 配置参数
配置参数 当调用“niceScroll”你可以传递一些参数来定制视觉方面: cursorcolor - 十六进制改变光标颜色,默认值是“#000000” cursoropacitymin - 改变不透 ...
- 在Wince模拟器接入网络的方法
我第一次使用wince调用WCF服务的时候总是报错,找了半原因发现程序部署在模拟器中,而模拟器没有连接到网络,所以无法连接到WCF服务器. 以下是wince接入网络的方法: 1.点击模拟 ...
- Asp.Net MVC3.0 Partial RenderPartial Action RenderAction 区别和用法
本人写的博文不多,专业知识不强,以下纯属于个人笔记.如有不对,还请各路大拿,拍砖指导,谢谢! 区别: 1.Partial 与 RenderPartial 两个方法性质基本一样,只是把一个静态用户控件给 ...