代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
FTP操作类
作者:
特务小强
/ 发布于
2012/7/9
/
817
FTP操作类
<div> <span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);"> FTPTransmission { </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 上传文件到FTP服务器</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span><span style="color: rgb(0, 128, 0);"> 上传文件到FTP服务器 </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPath"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strUser"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPass"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strServerIP"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><returns></returns></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> UploadFileToFTP(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> localFile, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> ftpFile, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strUser, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPass, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strServerIP) { </span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"> { FileInfo FInfo </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FileInfo(localFile); FtpWebRequest request </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebRequest)WebRequest.Create(</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strServerIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> ftpFile); request.Method </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> WebRequestMethods.Ftp.UploadFile; request.Credentials </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> NetworkCredential(strUser, strPass); request.ContentLength </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> FInfo.Length; </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> 缓冲大小设置为2kb=======[网上评论:]缓冲的大小为2kb,无论上传大文件还是小文件,这都是一个合适的大小。</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> buffLength </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 128);">2048</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 0, 255);">byte</span><span style="color: rgb(0, 0, 0);">[] buff </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span> <span style="color: rgb(0, 0, 255);">byte</span><span style="color: rgb(0, 0, 0);">[buffLength]; </span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> contentLen; </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> 打开一个文件流 (System.IO.FileStream) 去读上传的文件</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> FileStream fs </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> FInfo.OpenRead(); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> 把上传的文件写入流</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> Stream strm </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> request.GetRequestStream(); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> 每次读文件流的2kb</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> contentLen </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> fs.Read(buff, </span><span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">, buffLength); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> 流内容没有结束</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">while</span><span style="color: rgb(0, 0, 0);"> (contentLen </span><span style="color: rgb(0, 0, 0);">!=</span> <span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">) { </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> 把内容从file stream 写入 upload stream</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> strm.Write(buff, </span><span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">, contentLen); contentLen </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> fs.Read(buff, </span><span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">, buffLength); } </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> 关闭两个流</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> strm.Close(); fs.Close(); } </span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);"> (Exception ex) { </span><span style="color: rgb(0, 0, 255);">throw</span><span style="color: rgb(0, 0, 0);"> ex; } } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 从FTP服务器上下载文件</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span><span style="color: rgb(0, 128, 0);"> 从FTP服务器上下载文件 </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="localFile"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="ftpFile"></span><span style="color: rgb(0, 128, 0);">FTP上的文件路径</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="ftpUserID"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="ftpPassword"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="ftpServerIP"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><returns></returns></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> DownloadFileFromFTP(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> localFile, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> ftpFile, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> ftpUserID, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> ftpPassword, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> ftpServerIP) { </span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"> { </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">如果文件夹不存在,则创建文件夹</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> CreateNotExistsFolder(localFile); FileStream outputStream </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FileStream(localFile, FileMode.Create); FtpWebRequest reqFTP </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebRequest)FtpWebRequest.Create(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Uri(</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> ftpServerIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> ftpFile)); reqFTP.Method </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> WebRequestMethods.Ftp.DownloadFile; reqFTP.UseBinary </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">; reqFTP.Credentials </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> NetworkCredential(ftpUserID, ftpPassword); FtpWebResponse response </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebResponse)reqFTP.GetResponse(); Stream ftpStream </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> response.GetResponseStream(); </span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);"> cl </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> response.ContentLength; </span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> bufferSize </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 128);">2048</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> readCount; </span><span style="color: rgb(0, 0, 255);">byte</span><span style="color: rgb(0, 0, 0);">[] buffer </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span> <span style="color: rgb(0, 0, 255);">byte</span><span style="color: rgb(0, 0, 0);">[bufferSize]; readCount </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> ftpStream.Read(buffer, </span><span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">, bufferSize); </span><span style="color: rgb(0, 0, 255);">while</span><span style="color: rgb(0, 0, 0);"> (readCount </span><span style="color: rgb(0, 0, 0);">></span> <span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">) { outputStream.Write(buffer, </span><span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">, readCount); readCount </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> ftpStream.Read(buffer, </span><span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">, bufferSize); } ftpStream.Close(); outputStream.Close(); response.Close(); } </span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);"> (Exception ex) { </span><span style="color: rgb(0, 0, 255);">throw</span><span style="color: rgb(0, 0, 0);"> ex; } } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 创建文件夹</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span><span style="color: rgb(0, 128, 0);"> CreateNotExistsFolder </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPathName"></span><span style="color: rgb(0, 128, 0);">完全路径包括文件名</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> CreateNotExistsFolder(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPathName) { FileInfo FInfo </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FileInfo(strPathName); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">如果文件夹不存在,则创建文件夹</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(0, 0, 0);">!</span><span style="color: rgb(0, 0, 0);">Directory.Exists(FInfo.DirectoryName)) Directory.CreateDirectory(FInfo.DirectoryName); } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 获得FTP目录下符合要求的文件列表</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span><span style="color: rgb(0, 128, 0);"> GetFileList </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strFile"></span><span style="color: rgb(0, 128, 0);">FTP目标文件夹[根目录下则传入“”]</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strUser"></span><span style="color: rgb(0, 128, 0);">用户名</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPasswd"></span><span style="color: rgb(0, 128, 0);">密码</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strSeverIP"></span><span style="color: rgb(0, 128, 0);">FTP服务器IP</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strRemark"></span><span style="color: rgb(0, 128, 0);">FTP的目标文件名(模糊查询;例如:找.lok后缀的文件,则输入参数为“.lok”)</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><returns></span><span style="color: rgb(0, 128, 0);">返回找到的文件名称列表[含.lok],没有找到则返回“”</span><span style="color: rgb(128, 128, 128);"></returns></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strSubPath"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strUser"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPasswd"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strSeverIP"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strRemark"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><returns></returns></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"> GetFileList(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strSubPath, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strUser, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPasswd, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strSeverIP, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strRemark) { Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"> dict </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);">(); </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPath </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty; </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (strSubPath.Trim().Equals(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty)) strPath </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strSeverIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"> strPath </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strSeverIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strSubPath </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"> { FtpWebRequest reqFTP </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebRequest)FtpWebRequest.Create(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Uri(strPath)); reqFTP.UseBinary </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">; reqFTP.Credentials </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> NetworkCredential(strUser, strPasswd); reqFTP.Method </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> WebRequestMethods.Ftp.ListDirectory; WebResponse response </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> reqFTP.GetResponse(); StreamReader reader </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> StreamReader(response.GetResponseStream(), Encoding.Default, </span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">); </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strline </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty; </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> i </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">; (strline </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> reader.ReadLine()) </span><span style="color: rgb(0, 0, 0);">!=</span> <span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">; i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">) { </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">strline = reader.ReadLine(); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">if (line == null) continue; </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">if (line.Contains(strRemark)) </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">{ </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> reader.Close(); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> response.Close(); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> return line; </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">}</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (strline.ToUpper().Contains(strRemark.ToUpper())) { dict.Add(strline, strline); } } </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> dict; } </span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);"> (Exception ex) { </span><span style="color: rgb(0, 0, 255);">throw</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Exception(ex.Message); } } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 获得已有文件列表</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"> GetExistsFile(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strFile, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strUser, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPasswd, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strSeverIP, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strRemark) { Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"> dict </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);">(); </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPath </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty; </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (strFile.Trim().Equals(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty)) strPath </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strSeverIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"> strPath </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strSeverIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strFile </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">; </span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"> { FtpWebRequest reqFTP </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebRequest)FtpWebRequest.Create(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Uri(strPath)); reqFTP.UseBinary </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">; reqFTP.Credentials </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> NetworkCredential(strUser, strPasswd); reqFTP.Method </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> WebRequestMethods.Ftp.ListDirectory; WebResponse response </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> reqFTP.GetResponse(); StreamReader reader </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> StreamReader(response.GetResponseStream(), Encoding.Default, </span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">); </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strline </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty; </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> i </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">; (strline </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> reader.ReadLine()) </span><span style="color: rgb(0, 0, 0);">!=</span> <span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">; i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">) { </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (strline.Equals(strRemark)) { dict.Add(strline, strline); reader.Close(); response.Close(); </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> dict; } } reader.Close(); response.Close(); </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> dict; } </span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);"> { </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> dict; } } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 根据传入参数获得FTP上符合要求的文件</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span><span style="color: rgb(0, 128, 0);"> 根据传入参数获得FTP上符合要求的文件 </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPath"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strUser"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPasswd"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strSeverIP"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strRemark"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><returns></returns></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> GetFile(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPath, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strUser, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPasswd, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strSeverIP, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strRemark) { Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"> dict </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Dictionary</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);">(); dict </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> GetFileList(strPath, strUser, strPasswd, strSeverIP, strRemark); </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">dict = GetExistsFile(strPath, strUser, strPasswd, strSeverIP, strRemark);</span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (dict.Count </span><span style="color: rgb(0, 0, 0);"><</span> <span style="color: rgb(128, 0, 128);">1</span><span style="color: rgb(0, 0, 0);">) </span><span style="color: rgb(0, 0, 255);">return</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty; </span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"> { </span><span style="color: rgb(0, 0, 255);">foreach</span><span style="color: rgb(0, 0, 0);"> (KeyValuePair</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);">, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"> Kvp </span><span style="color: rgb(0, 0, 255);">in</span><span style="color: rgb(0, 0, 0);"> dict) { </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (Kvp.Key.ToString().ToUpper().Contains(strRemark)) </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> Kvp.Value; } </span><span style="color: rgb(0, 0, 255);">return</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty; } } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 根据传入参数删除FTP上的对应文件</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span><span style="color: rgb(0, 128, 0);"> DelFile </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strFile"></span><span style="color: rgb(0, 128, 0);">传入所需删除文件的全路径</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strUser"></span><span style="color: rgb(0, 128, 0);">用户名</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPasswd"></span><span style="color: rgb(0, 128, 0);">密码</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strSeverIP"></span><span style="color: rgb(0, 128, 0);">FTP地址</span><span style="color: rgb(128, 128, 128);"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><returns></returns></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">bool</span><span style="color: rgb(0, 0, 0);"> DelFile(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strFile, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strUser, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPasswd, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strSeverIP) { </span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"> { FtpWebRequest reqFTP </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebRequest)FtpWebRequest.Create(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Uri(</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strSeverIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strFile)); reqFTP.Method </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> WebRequestMethods.Ftp.DeleteFile; reqFTP.UseBinary </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">; reqFTP.Credentials </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> NetworkCredential(strUser, strPasswd); WebResponse response </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebResponse)reqFTP.GetResponse(); response.Close(); </span><span style="color: rgb(0, 0, 255);">return</span> <span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">; } </span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);"> { </span><span style="color: rgb(0, 0, 255);">return</span> <span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">; } } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> 在FTP上创建所需目录</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span><span style="color: rgb(0, 128, 0);"> CreateDirectory </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"></summary></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strFile"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strUser"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strPasswd"></param></span><span style="color: rgb(0, 128, 0);"> </span><span style="color: rgb(128, 128, 128);">///</span> <span style="color: rgb(128, 128, 128);"><param name="strSeverIP"></param></span><span style="color: rgb(128, 128, 128);"> </span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span> <span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> CreateFTPDirectory(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strDirectory, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strUser, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPasswd, </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strSeverIP) { </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (strDirectory.Equals(</span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty)) </span><span style="color: rgb(0, 0, 255);">throw</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Exception(</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">没有传入文件夹!</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">); </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strPath </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">ftp://</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strSeverIP </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span> <span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> strDirectory; </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strCheckPath </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> strPath.Remove(strPath.LastIndexOf(</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">) </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 128);">1</span><span style="color: rgb(0, 0, 0);">); </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strDircetory </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> strPath.Substring(strPath.LastIndexOf(</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">/</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">) </span><span style="color: rgb(0, 0, 0);">+</span> <span style="color: rgb(128, 0, 128);">1</span><span style="color: rgb(0, 0, 0);">); </span><span style="color: rgb(0, 0, 255);">try</span><span style="color: rgb(0, 0, 0);"> { </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> check exists</span><span style="color: rgb(0, 0, 0);"> FtpWebRequest reqFTP </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebRequest)FtpWebRequest.Create(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Uri(strCheckPath)); reqFTP.UseBinary </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">; reqFTP.Credentials </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> NetworkCredential(strUser, strPasswd); reqFTP.Method </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> WebRequestMethods.Ftp.ListDirectory; WebResponse response </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> reqFTP.GetResponse(); StreamReader reader </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> StreamReader(response.GetResponseStream(), Encoding.Default, </span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">); </span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"> strline </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);">.Empty; </span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> i </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">; (strline </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> reader.ReadLine()) </span><span style="color: rgb(0, 0, 0);">!=</span> <span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">; i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">) { </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (strline.Equals(strDircetory)) { reader.Close(); response.Close(); </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">; } } reader.Close(); response.Close(); </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">#region</span><span style="color: rgb(0, 0, 0);"> Create Directory</span><span style="color: rgb(0, 0, 0);"> reqFTP </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (FtpWebRequest)FtpWebRequest.Create(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Uri(strPath)); reqFTP.UseBinary </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">; reqFTP.Credentials </span><span style="color: rgb(0, 0, 0);">=</span> <span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> NetworkCredential(strUser, strPasswd); reqFTP.Method </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> WebRequestMethods.Ftp.MakeDirectory; response </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> reqFTP.GetResponse(); response.Close(); </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> } </span><span style="color: rgb(0, 0, 255);">catch</span><span style="color: rgb(0, 0, 0);"> (Exception ex) { </span><span style="color: rgb(0, 0, 255);">throw</span><span style="color: rgb(0, 0, 0);"> ex; } } </span><span style="color: rgb(0, 0, 255);">#endregion</span><span style="color: rgb(0, 0, 0);"> }</span></div>
试试其它关键字
FTP操作类
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
特务小强
贡献的其它代码
(
7
)
.
解压缩文件类
.
asp.net抓取远程图片
.
FTP操作类
.
让CPU占用率曲线听你的指挥
.
怎么知道页面被放大缩小了
.
获取Ftp文件的batch文件
.
自动登录网页,浏览页面
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3