0
私はZipファイルを作成するのにDotNetZipを使い、ftpにアップロードするにはthisを使います。c#:アップロードしたファイルをチェックしてアップロードを続けます
サーバーへの接続が失われた場合に既にアップロードされているファイルをftpサーバーでチェックします。接続が再確立されたら、アップロードプロセスを開始します(最初からではありません)。
public void DoResume(string output,string address, string username,string password)
{
// create instance of uploading method
var ftpClient = new ftp(address, username, password);
// get the location of all files in output directory
// output is the location of zip files
var filesAddress = Directory.GetFiles(output);
// get location of all files in output directory
// var filesName = Directory.GetFiles(output).select(Path.GetDileName).ToArray();
// get name of uploaded files
var getuploadedfiles = ftpClient.directoryListSimple("/");
// Upload Files
foreach (var serverfile in getuploadedfiles)
{
foreach (var fadddress in filesAddress)
{
var outputfile = Path.GetFileName(fadddress);
if (serverfile != outputfile)
{
// save *fadddress* file as *outputfile* in server
ftpClient.upload(outputfile, fadddress);
}
}
}
これはコードが何をしたとするものである:真は、次のファイルとチェックをスキップする場合チェックは、すでにアップロードされているファイルである。ここ
は、コメントと私のコードですアップロードされていない場合は、このファイルのアップロードを行います。これはどうなりますか:最初のものを除いてすべてのファイルを再度アップロードします。