public static bool DeleteFtpFolder(string folderGuid) { try { var files = ListDirectory("ftp://" + ServerInfo.MySQLServerIP + "/attachments/" + ServerInfo.CurrentDataBase.ToString() + "/" + folderGuid + "/"); int i = 0; foreach (string file in files) //delete each file counting for successes { if (DeleteFtpAttachment(file, folderGuid)) { i++; } } if (files.Count == i) // if successful deletions = total # of files, delete the directory { using (var deleteResp = (FtpWebResponse)(FtpComms.ReturnFtpResponse("ftp://" + ServerInfo.MySQLServerIP + "/attachments/" + ServerInfo.CurrentDataBase.ToString() + "/" + folderGuid, WebRequestMethods.Ftp.RemoveDirectory))) { if (deleteResp.StatusCode == FtpStatusCode.FileActionOK) { return(true); } } } return(false); } catch (Exception ex) { ErrorHandling.ErrHandle(ex, System.Reflection.MethodBase.GetCurrentMethod()); return(false); } }
public static bool HasFtpFolder(string itemGuid) { try { using (var resp = (FtpWebResponse)(FtpComms.ReturnFtpResponse("ftp://" + ServerInfo.MySQLServerIP + "/attachments/" + ServerInfo.CurrentDataBase.ToString() + "/" + itemGuid + "/", WebRequestMethods.Ftp.ListDirectory))) { if (resp.StatusCode == FtpStatusCode.OpeningData) { return(true); } } return(false); } catch (Exception) { return(false); } }
public static bool DeleteFtpAttachment(string fileGuid, string fKey) { try { using (var resp = (FtpWebResponse)(FtpComms.ReturnFtpResponse("ftp://" + ServerInfo.MySQLServerIP + "/attachments/" + ServerInfo.CurrentDataBase.ToString() + "/" + fKey + "/" + fileGuid, WebRequestMethods.Ftp.DeleteFile))) { if (resp.StatusCode == FtpStatusCode.FileActionOK) { return(true); } else { return(false); } } } catch (Exception ex) { return(ErrorHandling.ErrHandle(ex, System.Reflection.MethodBase.GetCurrentMethod())); } }
private static List <string> ListDirectory(string uri) { try { using (var resp = (FtpWebResponse)(FtpComms.ReturnFtpResponse(uri, WebRequestMethods.Ftp.ListDirectory))) { System.IO.Stream responseStream = resp.GetResponseStream(); using (StreamReader reader = new StreamReader(responseStream)) { List <string> files = new List <string>(); while (!reader.EndOfStream) //collect list of files in directory { files.Add(reader.ReadLine()); } return(files); } } } catch (Exception ex) { ErrorHandling.ErrHandle(ex, System.Reflection.MethodBase.GetCurrentMethod()); return(default(List <string>)); } }