Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(C# UWP/WinRT) Get FTP File PermissionsC# UWP/WinRT example showing how to retrieve file permissions (via FTP) for each file in a remote directory.
// This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Chilkat.Ftp2 ftp = new Chilkat.Ftp2(); // Set the various properties to establish the connection. ftp.Hostname = "ftp.example.com"; ftp.Username = "login"; ftp.Password = "password"; // If SSL/TLS is required.. // See http://www.cknotes.com/determining-ftp2-connection-settings/ // for more information. ftp.AuthTls = true; ftp.PassiveUseHostAddr = true; // Connect to the FTP server: bool success = await ftp.ConnectOnlyAsync(); if (success != true) { Debug.WriteLine(ftp.LastErrorText); return; } // Authenticate with the FTP server. success = await ftp.LoginAfterConnectOnlyAsync(); if (success != true) { Debug.WriteLine(ftp.LastErrorText); return; } // To get file permissions in UNIX format, disallow MSLD: ftp.AllowMlsd = false; // To get file and sub-directory information, simply // loop from 0 to ftp.GetDirCount() - 1 int i = 0; int n = await ftp.GetDirCountAsync(); if (n < 0) { Debug.WriteLine(ftp.LastErrorText); return; } // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if (n > 0) { Debug.WriteLine("The permissions format is: " + await ftp.GetPermTypeAsync(0)); } while (i < n) { // Display the permissions and filename Debug.WriteLine(await ftp.GetPermissionsAsync(i) + " " + await ftp.GetFilenameAsync(i)); i = i + 1; } // Assuming MLSD was possible, let's see the file permissions in MLSD format: ftp.AllowMlsd = true; // Clear the directory cache so we're forced to re-fetch the directory listing: ftp.ClearDirCache(); n = await ftp.GetDirCountAsync(); if (n < 0) { Debug.WriteLine(ftp.LastErrorText); return; } // Show the type of permissions information that is available. // The two most common types are "mlsd" and "unix". See the // online reference documentation for more information. if (n > 0) { Debug.WriteLine("----"); Debug.WriteLine("The permissions format is: " + await ftp.GetPermTypeAsync(0)); } i = 0; while (i < n) { // Display the permissions and filename Debug.WriteLine(await ftp.GetPermissionsAsync(i) + " " + await ftp.GetFilenameAsync(i)); i = i + 1; } success = await ftp.DisconnectAsync(); |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.