public override FileChecksumType[] GetSupportedChecksumTypes()
Shows how to use GetFileChecksum and CalculateLocalChecksum methods to get checksum returned from the server and calculate checksum of a local file.
using System; using System.Collections.Generic; using System.Text; using ComponentPro.IO; using ComponentPro.Net; ... // Create a new class instance. Ftp client = new Ftp(); // Connect to the FTP server. client.Connect("myserver"); // Or you can specify the FTP port with // client.Connect("myserver", 21); // Authenticate. client.Authenticate("userName", "password"); FileChecksumType[] supportedChecksumTypes = client.GetSupportedChecksumTypes(); if (supportedChecksumTypes.Length == 0) { // Show error and exit. Console.WriteLine("No checksum algorithm supported by the server."); client.Disconnect(); return; } // Upload the file. const string remoteFile = "/my remote file.dat"; const string localFile = "my local file"; long transferred = client.UploadFile(localFile, remoteFile); Console.WriteLine("Bytes transferred: " + transferred); // Get remote checksum // Suppose the server support at least one algorithm. string remoteChecksum = client.GetFileChecksum(supportedChecksumTypes[0], remoteFile); Console.WriteLine("Remote checksum: " + remoteChecksum); // Get local checksum string localChecksum = DiskFileSystem.CalculateLocalChecksum(supportedChecksumTypes[0], localFile); Console.WriteLine("Local checksum: " + localChecksum); if (localChecksum == remoteChecksum) { Console.WriteLine("File uploaded successfully. {0} checked.", supportedChecksumTypes[0]); } else { Console.WriteLine("File uploaded successfully. {0} not matched.", supportedChecksumTypes[0]); } // Disconnect. client.Disconnect();