/// <summary> /// 删除订单目录 /// </summary> /// <param name="ftpServerIP">FTP 主机地址</param> /// <param name="folderToDelete">FTP 用户名</param> /// <param name="ftpUserID">FTP 用户名</param> /// <param name="ftpPassword">FTP 密码</param> public static void DeleteOrderDirectory(string ftpServerIP, string folderToDelete, string ftpUserID, string ftpPassword) { try { if (!string.IsNullOrEmpty(ftpServerIP) && !string.IsNullOrEmpty(folderToDelete) && !string.IsNullOrEmpty(ftpUserID) && !string.IsNullOrEmpty(ftpPassword)) { FtpWeb fw = new FtpWeb(ftpServerIP, folderToDelete, ftpUserID, ftpPassword); //进入订单目录 fw.GotoDirectory(folderToDelete, true); //获取规格目录 string[] folders = fw.GetDirectoryList(); foreach (string folder in folders) { if (!string.IsNullOrEmpty(folder) || folder != "") { //进入订单目录 string subFolder = folderToDelete + "/" + folder; fw.GotoDirectory(subFolder, true); //获取文件列表 string[] files = fw.GetFileList("*.*"); if (files != null) { //删除文件 foreach (string file in files) { fw.Delete(file); } } //删除冲印规格文件夹 fw.GotoDirectory(folderToDelete, true); fw.RemoveDirectory(folder); } } //删除订单文件夹 string parentFolder = folderToDelete.Remove(folderToDelete.LastIndexOf('/')); string orderFolder = folderToDelete.Substring(folderToDelete.LastIndexOf('/') + 1); fw.GotoDirectory(parentFolder, true); fw.RemoveDirectory(orderFolder); } else { throw new Exception("FTP 及路径不能为空!"); } } catch (Exception ex) { throw new Exception("删除订单时发生错误,错误信息为:" + ex.Message); } }
private void GetFiles(string folder, List <PictureItem> picItems, bool includeChildFolder) { Console.WriteLine(DateTime.Now.ToString("HH:mm:ss,fff") + "GetFiles:" + folder); string cd = folder.Trim('/'); if (cd == "") { cd = "/"; } else { cd = "/" + cd; } //m_FTPFileService.SetCurrentDirectory(cd); var ftplist = m_FTPFileService.GetFilesDetailList(folder).Where(it => it.IsDir == false).ToList().ConvertAll <string>(it => it.Name); if (ftplist != null && ftplist.Count > 0) { PictureItem picItem; string fileExt; foreach (var item in ftplist) { fileExt = Path.GetExtension(item); if (Array.IndexOf(DataModel.Constant.PICFILE_EXTENSIONS, fileExt.ToLower()) > -1) { picItem = new PictureItem() { }; if (!string.IsNullOrEmpty(m_ftpUser) && !string.IsNullOrEmpty(m_ftpPass)) { picItem.FullName = string.Format("ftp://{0}:{1}@{2}:{3}{4}", m_ftpUser, m_ftpPass, m_ftpIP, m_ftpPort, string.IsNullOrEmpty(cd) ? "/" + item : string.Format("{0}/{1}", cd, item)); } else { picItem.FullName = string.Format("ftp://{0}:{1}{2}", m_ftpIP, m_ftpPort, string.IsNullOrEmpty(cd) ? "/" + item : string.Format("{0}/{1}", cd, item)); } picItems.Add(picItem); } } } if (includeChildFolder) { var dirs = m_FTPFileService.GetDirectoryList(folder); if (dirs != null && dirs.Count > 0) { string tmp; foreach (var dir in dirs) { tmp = string.Format("{0}/{1}", folder, dir); GetFiles(tmp, picItems, includeChildFolder); } } } }