次のコードを使用して、ftpサーバーにファイルをアップロードするためにftplibを使用しています
FtpConnection ftp = new FtpConnection(serverip, ftpuser, ftppassword);
ftp.Open();
ftp.Login();
ftp.SetCurrentDirectory("domain/wwwroot");
void CreateDirOnFtp(string sDir, FtpConnection ftp)
{
try
{
foreach (string f in Directory.GetFiles(sDir))
{
Uri uri = new Uri(f);
ftp.PutFile(f, System.IO.Path.GetFileName(uri.LocalPath));
}
foreach (string d in Directory.GetDirectories(sDir))
{
string dirname = new DirectoryInfo(d).Name;
if (!ftp.DirectoryExists(dirname))
{
ftp.CreateDirectory(dirname);
}
ftp.SetCurrentDirectory(dirname);
CreateDirOnFtp(d, ftp);
}
}
catch (System.Exception e)
{
}
}
ただし、このコードはすべてのディレクトリを反復処理していないため、ftp サーバー上の一部のディレクトリとファイルが欠落しています。
そのため、zipファイルをftpにアップロードしてftpサーバーに抽出することにしましたが、ftpサーバーに存在するファイルを抽出する方法が見つかりません。
これどうやってするの?または、複数のディレクトリとファイルを ftp サーバーにアップロードするための他のより良い方法