您的位置 首页 > 数码极客

‘如何从ftp取文件’ftp 取文件…

上面一篇已经发视频展示了FTP工具的操作使用,所以这一篇放一下主要源代码;

篇幅有限,这里就放一下操作FTP公共类代码;

其他的也没什么功能,一个页面展示(主要是TreeView控件和ListView控件),还有一个就是获取本地的文件(DirectoryInfo类)

实现功能:

实现使用Ftp上传、下载、重命名、刷新、删除功能

开发环境:

开发工具: Visual Studio 2013

.NET Framework版本:4.5

实现代码:

/*FTP操作公共类*/ private string FtpIp, FtpPort, FtpUser, FtpPwd, FtpUrl; private FTPUtil() { } public FTPUtil(string ftpIp, string ftpPort, string ftpUser, string ftpPwd) { FtpIp = ftpIp; FtpPort = ftpPort; FtpUser = ftpUser; FtpPwd = ftpPwd; FtpUrl = "ftp://" + ftpIp + ":" + ftpPort + "/"; } private FtpWebRequest GetFtpWebRequest(string path, string method) { FtpWebRequest Ftp = (FtpWebReque(new Uri(FtpUrl + "/" + path)); F = new NetworkCredential(FtpUser, FtpPwd); F = false; F = true; F = method; return Ftp; } /// <summary> /// 获取路径下所有文件夹 /// </summary> /// <param name="dirName"></param> /// <returns></returns> public List<FileModel> GetDirs(string dirName) { return GetAllFiles(dirName).FindAll(s => s.Type == "文件夹"); } /// <summary> /// 获取路径下所有文件 /// </summary> /// <param name="dirName"></param> /// <returns></returns> public List<FileModel> GetFiles(string dirName) { return GetAllFiles(dirName).FindAll(s => s.Type == "文件"); } /// <summary> /// 获取路径下所有项目 /// </summary> /// <param name="dirName"></param> /// <returns></returns> public List<FileModel> GetAllFiles(string dirName) { List<FileModel> fileList = new List<FileModel>(); try { FtpWebRequest Ftp = GetFtpWebRequest(dirName, WebReque); using (WebResponse response = F()) { using (StreamReader reader = new StreamReader(), Encoding.UTF8)) { string line = ""; while ((line = reader.ReadLine()) != null) { (ConvertFile(line, dirName)); } } } } catch (Exception ex) { throw ex; } return fileList; } /// <summary> /// FTP文件信息转换 /// </summary> /// <param name="value"></param> /// <param name="dirName"></param> /// <returns></returns> private FileModel ConvertFile(string value, string dirName) { string[] arr = value.Split(new string[] { " " },4, S); FileModel model = new FileModel(); model.Date = arr[0]; model.Time = arr[1]; if (arr[2] == "<DIR>") { model.Type = "文件夹"; model.Size = 0; } else { model.Type = "文件"; model.Size = Convert.ToInt64(arr[2]); } model.Name = arr[3]; model.FullName = dirName + "/" + model.Name; return model; } /// <summary> /// 上传 /// </summary> /// <param name="fileName"></param> /// <param name="desFile"></param> public void Upload(string fileName, string desFile) { try { FileInfo fileInfo = new FileInfo(fileName); FtpWebRequest Ftp = GetFtpWebRequest(desFile, WebReque); F = true; F = ; int buffLength = 2048; byte[] buff = new byte[buffLength]; int len = 0; using (FileStream fs = ()) { using (Stream stream = F()) { while ((len = (buff, 0, buffLength)) != 0) { (buff, 0, buffLength); } } } } catch (Exception ex) { throw ex; } } /// <summary> /// 下载 /// </summary> /// <param name="fileName"></param> /// <param name="desFile"></param> public void DownLoad(string fileName, string desFile) { try { FtpWebRequest Ftp = GetFtpWebRequest(fileName, WebReque); F = true; FtpWebResponse response = (FtpWebResponse)F(); int buffLength = 2048; byte[] buff = new byte[buffLength]; int len = 0; using (FileStream fs = new FileStream(desFile, FileMode.Create)) { using (Stream stream = re()) { while ((len = (buff, 0, buffLength)) != 0) { (buff, 0, buffLength); } } } } catch (Exception ex) { throw ex; } } /// <summary> /// 删除文件 /// </summary> /// <param name="fileName"></param> public void DeleteFile(string fileName) { try { FtpWebRequest Ftp = GetFtpWebRequest(fileName, WebReque); FtpWebResponse response = (FtpWebResponse)F(); using (Stream datastream = re()) { using (StreamReader sr = new StreamReader(datastream)) { (); } } } catch (Exception ex) { throw ex; } } /// <summary> /// 重命名 /// </summary> /// <param name="fileName"></param> /// <param name="newName"></param> public void ReName(string fileName, string newName) { try { FtpWebRequest Ftp = GetFtpWebRequest(fileName, WebReque); F = newName; F = true; FtpWebResponse response = (FtpWebResponse)F(); using (Stream datastream = re()) { using (StreamReader sr = new StreamReader(datastream)) { (); } } } catch (Exception ex) { throw ex; } }


由简入繁,拿来即用

后续精彩,持续关注

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何从ftp取文件,ftp,取文件,如何用ftp取文件,如何上传ftp文件,如何删除ftp文件,如何打开ftp文件”边界阅读