프로그램(C# etc.)
ftp 주소의 jpg 파일 전부 삭제 코드
질문폭격
2023. 1. 12. 13:21
다음은 C# 및 FtpWebRequest 클래스를 사용하여 특정 FTP 폴더의 모든 JPG 파일을 삭제하는 방법에 대한 예입니다:
public static void DeleteAllJpgFiles(string ftpServer, string ftpUsername, string ftpPassword, string path)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpServer + "/" + path);
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string line = reader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
if(line.EndsWith(".jpg")){
string[] lineArray = line.Split(new char[] { ' ' }, 9, StringSplitOptions.RemoveEmptyEntries);
string fileName = lineArray[lineArray.Length - 1];
DeleteFile(ftpServer, ftpUsername, ftpPassword, path + "/" + fileName);
}
line = reader.ReadLine();
}
}
}
}
이 코드는 WebRequestMethods를 사용하여 지정된 폴더에 있는 파일 및 디렉터리 목록을 가져오라는 요청을 FTP 서버로 보냅니다.Ftp.ListDirectoryDetails 메서드 및 ListDirectoryDetails 속성을 사용한 다음 응답 스트림을 한 줄씩 읽습니다.
각 행에 대해 .jpg로 끝나는지 확인하고 끝나면 파일 이름을 추출하고 이전 방법인 DeleteFile을 호출하여 삭제합니다.
이 기능을 호출하여 FTP 서버 주소, 사용자 이름 및 암호, JPG 파일을 삭제할 폴더 이름과 같은 필수 매개 변수를 전달할 수 있습니다.
DeleteAllJpgFiles("ftp://ftp.yourserver.com", "ftpusername", "ftppassword", "folder_name");
이렇게 하면 FTP 서버의 지정된 폴더에 있는 모든 JPG 파일이 삭제되고 콘솔의 각 폴더에 대한 삭제 상태가 인쇄됩니다.
FTP 서버에 파일을 삭제할 수 있는 권한이 있는지 확인하십시오.